Zahlensysteme
Möglichkeiten der Speicherug von Zahlen
Zahlen als Zeichenfolgen können ASCII kodiert werden
Beispiel: 123 = 00110001 00110010 00110011
duales Zahlensystem:
123 = 1111011
BCD Binary Coded Decimal - Mittelweg
je Deziamlziffer 4 Bits
Zahlensysteme?✖️
Umwandlungen
Dualsystem auf Basis 2 und Ziffern {0,1}
Oktalsystem: Zusammenfassung von Binärstellen
Basis 2^3 = 8 mit den Ziffern {0,1,2,3,4,5,6,7}
53 = 110 101 = 65
Hexadezimalsystem: Basis 2^4 = 16 mit den Ziffern {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}
53= 0011 0101 = 35
Hornerschema
Größte Potenz✖️
Merke:
Größte Potenz: Von oben ablesen
Hornerschema: Von unten ablesen
Umwandlung des Nachkommateils mit dem Hornerschema
✖️
Eine sukzessive Multiplikation des Nachkommateils der Dezimalzahl mit der Basis b des Zielsystems ergibt nacheinander die y-i (als Vorkommastelle) in der Reihenfolge der höchstwertigen zur niedrigstwertigen Nachkommaziffer.
Umwandlung Basis b1 ↔ b2
b1 = Oktal ↔ b2 = Hexadezimal
Im Dualsystem aufschreiben, umgruppieren
Sonst:
Division durch größte Potenz
Zahlenbereiche im Computer
heutige Rechner: Wortlänge von 32 und 64 Bit
bei 32 Bit Wortlänge:
ganze Zahlen -2 147 483 648 und 2 147 483 647
Binäre Arithmetik von Computern
Operationen
Rechenregeln sind analog zum Dezimalsystem
Computer benötigen i.d.R. nur +,-,*,/ und binäre Operationen (not, shift, etc.)
sin() wird mit Reihen berechnet
Logische Operationen
AND
OR
NEG
XOR
Binäre Addition: mit XOR wobei bei zwei Einsen ein Übertrag entsteht
Subtraktion, negative Zahlen
Zweierkomplement von b bilden zu a addieren
Subtraktion und Division
Subtraktion lässt sich mit Komplementdarstellung auf Addition zurückführen
Division durch wiederholte Subtraktion, Addition und Vergleiche
Wesentlich: Addition und Multiplikation sehr einfach
Multiplikation und Division früher in Software, heute in Hardware
Gleitpunktzahlen
Wie kann man gebrochene und sehr große Zahlen im Rechner darstelllen?
halblogarithmisch - pos. oder neg. Zehnerexponenten
IEEE float Umwandlung
Umwandeln in Binär
Rechtsshift um N Stellen, bis in der Vorkommastelle nur eine Eins steht (Normalform).
Die Vorkomma-Eins (hidden Bit) wird nicht im Maschinenwort aufgeführt.
Zum Exponenten 127 addieren
Das MSB je nach Vorzeichen setzen
Rechnen mit Gleitpunktzahlen
Grundrechenarten erheblicher komplizierter
Addition:
Exponenten durch Mantissenverschiebung angleichen
dann addieren
Multiplikation:
Mantissen multiplizieren
Exponenten addieren
heute in Hardware, früher in Software
Rechenleistung in FLOPS (floating point operations per second) gemessen (GigaFLOPS ... PetaFLOPS)
Sonderolle der 0
Null ist keine normierte Gleitpunktzahl
arithmetische Sonderbehandlung: alle Bits 0
exaktes Ergebnis 0 wird in der Regel nicht angenommen
⇒ bei Abfragen: nicht: „x == 0 ?“, sondern „|x| < e ?“
auch nicht: „x == y ?“, sondern „|x - y| < e ?“
anders bei ganzen Zahlen: dort x==y ? OK
Zahlensysteme - Zusammenfassung
Dualzahlen: Basis 2
Rechenregeln wie beim dezimalen System, nur einfacher
Zusammenfassung von Stellen
Basis=8, 3 Bits: Oktal
Basis=16, 4 Bits: Hexadezimal
Negative Zahlen: Zweierkomplement
Multiplikation 1*1 sehr einfach, Rest: Schieben und Addieren
Gleitpunktzahlen, IEEE 754
Last changed2 years ago