2009-07-14 14 views
1

Ich bin mir nicht sicher, wie man einen Fließkomma-Single mit einer Dezimalstelle ausdrucken kann.Ausdruck der gerundeten Fließkommazahl in MIPS

Ich bekomme '88 .09999847 'anstelle von' 88 .1 '. Bitte geben Sie

Zum Beispiel: wenn ich registrieren $ f10 = '88 0,09999847'

mov.s $f12, $f10 

li $v0, 2 

syscall 

ich Ausgang als ‚88,09999847‘

Wie runde ich auf eine Dezimalstelle und auszudrucken " 88,1"

Jede Hilfe würde geschätzt

+0

+1 für eine gute Frage. Ich denke, die Antwort beinhaltet Bitmasking im Mantissenteil des Floats, aber ich kann mich nicht an die Ausrichtung erinnern. – Yohnny

Antwort

0

1) Multiplizieren Sie die Zahl von 10 (da Sie eine Rundung auf eine Dezimalstelle.)
Schieben2) die Anzahl an den Stapel (oder entsprechende Register.)
3) Round ist ein Systemaufruf (auf meinem Rechner, der Code ist call roundf)
4) Das Ergebnis durch 10