FixedPoint

Festkomma-Arithmetik

Mit einer Datenbreite von z. B. 4 Bit ist es möglich die Zahlen von 0 bis 15 darzustellen. Dabei wird angenommen, dass das Dezimalkomma rechts von der niederwertigsten Stelle steht. Bei allen Berechnung wird diese Kommastelle als fest angenommen. Die vier binären Stellen links vom Komma haben entsprechend die Wertigkeiten 1, 2, 4 und 8, entsprechend den Zweierpotenzen der Bitnummern 0 bis 3.

Jetzt ist es aber auch möglich, den vier Bit eine andere Wertigkeit zuzuordnen. Als Beispiel soll das Komma nicht rechts von der niederwertigsten Stelle stehen, sondern links von dem höherwertigen Bit. Entsprechend bekommen die vier Stellen von links nach rechts die Bitnummern -1, -2, -3 und -4. Als Zweierpotenz ergeben sich daraus die Wertigkeiten 1/2; 1/4; 1/8 und 1/16.

Addition von zwei Festkommazahlen

Nehmen wir das erste Beispiel, mit dem Komma rechts von niederwertigsten Bit und addieren zwei Zahlen, die mit vier Bit darstellbar sind. Die größte Zahl ist 15 und addiert mit 15 ergibt als grösstes Ergebnis 30. Die Frage ist jetzt, wie viele Bits nötig sind, um die Zahl 30 darzustellen? Mit fünf Bit sind die Zahlen von null bis 31 darstellbar, also sind fünf Bit ausreichend, um das Ergebnis darzustellen.

Allgemein gilt die Regel, bei der Addition von zwei N-Bit großen Zahlen, sind N+1 Bit ausreichend um das Ergebnis darzustellen.

Wie sieht es jetzt mit zwei Zahlen aus, die durch unterschiedliche Bitlängen repräsentiert werden? Als Beispiel soll wieder die vier Bit große Zahl und eine drei Bit große Zahl addiert werden. Der Zahlenbereich für drei Bit ist 0 bis 7 und beim Addieren von 15 und 7 ergibt das Ergebnis 22. Die kann wiederum mit fünf Bit dargestellt werden.

Allgemein gilt, W(N) + W(M) = W(N+1) mit N > M

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Log Out / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Log Out / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Log Out / Ändern )

Verbinde mit %s