I want to divide two values that are in $tn
registers.
I have to divide these two values to get a double result but the function div
only returns the integer part of that division can anyone help out?
Do i need to convert $t1
and $t2
to $f0
and $f2
?
How do i do that?
li $t1,2
li $t2,5
div $f0,$t2,$t1
This gives me an error because it expects a $tn
value not a $fn
value...
You have to move and convert the integer stored in a general purpose register to floating point or double register.
Assuming your number is stored in $a1
, To convert to a double pair ($f12
, $f13
) you have to issue:
mtc1.d $a1, $f12
cvt.d.w $f12, $f12
And to convert it to a single precision float ($f12
) you'd do:
mtc1 $a1, $f12
cvt.s.w $f12, $f12
Then you can use div.d
or div.s
to do floating-point division and get a floating point result.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With