Mantisse nach Addition normieren

plo1234
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 116
Registriert: 14. Nov 2009 18:51

Mantisse nach Addition normieren

Beitrag von plo1234 »

Hallo.
Nach der Addition der beiden Mantissen muss ich ja gegebenenfalls Mantisse und Exponent normieren.

Beispiel aus dem Skript:

Code: Alles auswählen

0,11 * 2^1 +
1,101 * 2^1
-----------
10,011
Danach: 10,011 * 2^1 = 1,0011 * 2^2

Ich scheitere grad ein wenig daran, wie ich feststelle, ob ich Mantisse/Exponent nach der Addition noch normieren muss, oder nicht. Hier aufgeschrieben sieht man es am Komma. Das speichere ich ja aber nicht mit. Muss ich das irgendwie tun, oder gibt es noch einen anderen weg?
tschö

edit: Hängt mit dem Normieren vor der Addition zusammen? Also muss ich quasi nur wieder zurückschieben?

daniel_b
Computerversteher
Computerversteher
Beiträge: 363
Registriert: 15. Okt 2008 16:23

Re: Mantisse nach Addition normieren

Beitrag von daniel_b »

Mit Normieren ist gemeint: Wenn nach der Addition die Mantisse überläuft, shiftest du sie um 1 nach rechts. Um den Wert aber nicht zu verändern, muss der Exponent um 1 erhöht werden.

davidda
Windoof-User
Windoof-User
Beiträge: 31
Registriert: 19. Okt 2009 17:27

Re: Mantisse nach Addition normieren

Beitrag von davidda »

Zum Erkennen des Überlaufs: So wie ich das sehe, haben die beiden Zahlen in deinem Beispiel 4 Stellen / bit (Wenn man sich beim ersten hinten noch die 0 denkt). Dein Ergebnis mit Überlauf hat aber 5 Stellen / bit. Vieleicht kommst du ja mit diesem Ansatz weiter :)

plo1234
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 116
Registriert: 14. Nov 2009 18:51

Re: Mantisse nach Addition normieren

Beitrag von plo1234 »

Das war halt nur ein Beispiel.
In der FPU habe ja einfach 2 11bit Exponenten. Das Ergebniss ist dann halt ebenfalls 11bit lang.

Benutzeravatar
igor.a
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 143
Registriert: 28. Sep 2009 16:05

Re: Mantisse nach Addition normieren

Beitrag von igor.a »

Es geht jetzt weniger um den Exp. sondern um die Mantisse. Die sind je 20b und für das Additionsergebnis hast du 21b. Ist das ganz linke Bit 1, hast du einen Überlauf.

plo1234
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 116
Registriert: 14. Nov 2009 18:51

Re: Mantisse nach Addition normieren

Beitrag von plo1234 »

Ahja, klar. Mantisse. Meinte ich ;)
Und ja! Das war der Tipp den ich brauchte..
hatte irgendwie Tomaten auf den Augen ;)
merci

Benutzeravatar
AlexPi11
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 154
Registriert: 18. Apr 2009 15:32

Re: Mantisse nach Addition normieren

Beitrag von AlexPi11 »

*klein-karierter Modus an*
Da die führende '1' der Normalform nicht gespeichert wird, hat man schon eine 21-bit Mantisse ohne Überlauf.
*klein-karierter Modus aus*

Antworten

Zurück zu „Archiv“