In generally, there are two methods as I know what multiplication fixed/floating point multiplication. I'm Hardware Engineer like Verilog.
1.The one way Verilog - Floating points multiplication
2.The another way which is to Shift left "<<" then to shift right " >>"
I think above ways which is the results are all the same. But I'm not sure, So I'm asking here what I want to know which way are esay to use and correct?
Update1.
I think there are some way what multiplication in verilog.
1.way one.
What if I want to multipicate with 3.82 *2.581.
Then we can make integer above fractional numbers like this.
3.98*8 = 31.84.
What if we want only integer result then we could like this way to calculate .
3.98<<7 =3.98 * 2^7 = almost 509.
Then we can get 509 * 8 = 4072
Then we can 31 at 4072>>7.
2.way two. 3.98 = almost 'b11_111110101... At here, we can get to choice a suit depths for calculating multiplication. 8 = 'b1000 11_11111010 * 1000 = (4 int),(0 frac) * (2 int ),(8 frac) 11 1111101000 = 8144 Then we get 8144*2^-8 = 31.8125
update 2
I am confused a multiplication between how can I apply fixed fraction to the integer and Verilog - Floating points multiplication
Which one is better way?