# Multiplying signed to unsigned binary numbers in verilog

How can I multiply a signed number to unsigned number in verilog for example:

a = 6'b111111 ; //which is means -1 as it is signed

b = 6'b111111 ; //which is means 63 as it is unsigned

I want the result be -63 which is 1000001 which is signed number

• do you mean adding, or multiplying, there's a big difference? Please alter your title, or your question text. – Neil_UK Feb 6 '19 at 14:05

c = a*$signed({1'b0,b});$display("%b %d",c,c);