После запуска следующего кода на MIPS я ожидал бы, что $ f0 будет содержать 0x7f800001, но он останется 0x7f800000. Я неправильно понимаю, как работает float? Нужно ли использовать двойную точность в этом случае? Я был бы признателен, если бы кто-нибудь объяснил мне, почему это не дает ожидаемого результата и как я могу получить ожидаемый результат.
li $t0, 0x7f800000
mtc1 $t0, $f0
li $t1, 1
mtc1 $t1, $f1
add.s $f0, $f0, $f1