2009-07-14 7 views
1

Je ne suis pas sûr de savoir comment imprimer un point flottant avec une décimale.Imprimer le nombre à virgule flottante arrondi dans MIPS

Je reçois '88 .09999847 'au lieu de '88 .1'. S'il vous plaît conseiller

Par exemple: si je dois vous inscrire f10 $ = '88 0,09999847'

mov.s $f12, $f10 

li $v0, 2 

syscall 

je reçois sortie comme « 88,09999847 »

Comment puis-je arrondir à une décimale et imprimer " 88,1"

Toute aide serait appréciée

+0

1 pour une bonne question. Je pense que la réponse impliquera un masquage de bit dans la partie mantisse du flotteur, mais je ne me souviens pas de l'alignement. – Yohnny

Répondre

0

1) Multiplier le nombre de 10 (puisque vous êtes arrondi à la première décimale.)
2) Appuyer sur le numéro de la pile (ou registre approprié.)
3) ronde est un appel système (sur ma machine, le code est call roundf)
4) diviser le résultat par 10

Questions connexes