Stellenwertsystem
Ein Stellenwertsystem zur Basis
mit
Stellenwertsysteme
| Basis | Bezeichnung | Ziffern |
|---|---|---|
2 | Binär, Dual | 0, 1 |
8 | Oktal | 0, 1, ..., 6, 7 |
10 | Dezimal | 0, 1, ..., 6, 7, 8, 9 |
16 | Hexadezimal | 0, 1, ..., 6, 7, 8, 9, A, B, C, D, E, F |
Schreibweisen
Beispiele für Schreibweisen von
Umrechnung von Stellenwertsystemen
In Dezimal
- Jede Ziffer wird mit der Basis zur Position multipliziert und dann zusammengezählt
Beispiel:
1 0 1 , 1 1
= 1*2^2 + 0*2^1 + 1*2^0 + 1*2^(-1) + 1*2^(-2)
= 1*4 + 0*2 + 1*1 + 1*0,5 + 1*0,25
= 4 + 0 + 1 + 0,5 + 0,25
= 5,75
Beispiel:
5 , 5
= 5*16^0 + 5*16^(-1)
= 5 + 5*0,0625
= 5,3125
Horner-Schema
- Die höchste Stelle wird mit der Basis multipliziert
- Dazu wird die nächstniedrigere Stelle gezählt und alles wieder mit der Basis multipliziert
- Das wird wiederholt bis zum Ende
Beispiel:
1 1 0 0 1
((((1)*2 + 1)*2 + 0)*2 + 0)*2 + 1 = 25
Beispiel:
2 1 7 3
(((2*8) + 1)*8 + 7)*8 + 3 = 1147
Verfahren der fortgesetzen Division mit Rest
- Die Anfangszahl durch die neue Basis teilen
- Ergebnis und Rest notieren
- Das Ergebnis wieder teilen und Schritte wiederholen
- Aufhören wenn das Ergebnis
ist - Die Reste in umgekehrter Reihenfolge sind die umgewandelte Zahl
Beispiel:
113 : 2 = 56 Rest 1
56 : 2 = 28 Rest 0
28 : 2 = 14 Rest 0
14 : 2 = 7 Rest 0
7 : 2 = 3 Rest 1
3 : 2 = 1 Rest 1
1 : 2 = 0 Rest 1
Beispiel:
171 : 8 = 21 Rest 3
21 : 8 = 2 Rest 5
2 : 8 = 0 Rest 2
Verfahren der fortgesetzten Multiplikation
Mit dem Verfahren können Nachkommastellen vom Dezimalsystem in andere Stellenwertsysteme umgewandelt werden. Kombiniert man dieses Verfahren und das der fortgesetzten Division mit Rest, so können Kommazahlen umgewandelt werden.
- Die Kommazahl (mit
beginnend) mit der neuen Basis multiplizieren - Stelle vor dem Komma und Nachkommastellen notieren
- Die Nachkommastellen wieder multiplizieren
- Aufhören wenn es keine Nachkommastellen mehr gibt
- Die Stellen vor dem Komma aneinandergereiht sind die umgewandelte Kommazahl
Beispiel:
0,8125 * 2 = 1 , 625
0,625 * 2 = 1 , 25
0,25 * 2 = 0 , 5
0,5 * 2 = 1 , 0
Binary Coded Decimals
- Beispiele:
0000(0),0001(1),1001(9),0001 0000(10), … - Ziffern von 0-9 (wie beim Dezimalsystem)
- Jede Ziffer wird mit 4 bit dargestelle
- Packed: 2 Ziffern pro Byte (speichereffizienter), Unpacked: 1 Ziffer pro Byte (recheneffizienter)
Informationseinheiten
| Bezeichnung | Symbol | Wert |
|---|---|---|
| Bit | b | Eine Binärziffer |
| Byte | B | 8 b |
| Word | n b - Datenwort oder Befehlswort | |
| Kilobit | kbit, kb | 1000 b (1024 b vor Standartisierung) |
| Kibibit | KiBit | 1024 b durch Standartisierung |
| Kilobyte | kB | 1000 B |
| Kibibyte | KiB | 1024 B durch Standartisierung |
| Megabit | MBit, Mb | 1000 kb (1024 kb vor Standartisierung) |
| … |
Negative Zahlen
Durch 10er-Komplement
- Beispiel:
70 - 64 = 6 - 10er-Komplement von 64:
36 70 + 36 = 106- Erste stelle weglassen:
6
Vorzeichenbit
- Ein Bit für Vorzeichen, separat vom Betrag gespeichert
- Unterschiedliche Logik für Rechenoperationen
- 2 Darstellungen für 0
Einerkomplement
- Alle Bits werden invertiert
- Erstes Bit gibt an ob die Zahl positiv (
0) oder negativ (1) ist - Beispiel:
00000101(5),11111010(-5) - 2 Darstellungen für 0, komplizierte Rechenlogik
Zweierkomplement
- Keine 2 Darstellungen für 0
- Rechenoperationen können ohne Anpassungen verwendet werden (Subtraktion ist Addition mit negativer Zahl)
Konvertierung zur negativen Zahl
- Alle Ziffern invertieren
1dazuzhälen
Beispiel: 0100000011100000 in negative Zahl konvertieren
| Schritt | Zahl |
|---|---|
| 1. Invertieren | 1011111100011111 |
2. 1 dazuzählen | 1011111100100000 |
Interpretation
- Das höchstwertige Bit hat eine negative Wertigkeit
-128 64 32 16 8 4 2 1 Dezimal
----------------------------------------------------
0 0 0 1 1 0 1 0 = 26
1 1 1 0 0 1 1 0 = -26
Sign extension
- Stellenanzahl einer Zahl erhöhen ohne ihren Wert zu verändern
- Höchstwertiges Bit wird so lange dupliziert bis die gewünschte Länge erreicht ist
Beispiel:
6 Bit 8 Bit Dezimal
-------------------------------------
100111 11100111 -25
001101 00001101 13
Kommazahlen
Festkommazahlen
- Darstellung von Kommazahlen mit fester Anzahl vor und nach dem Komma
- Genauigkeitsverlust bei zu niedrigen bzw. Überlauf bei zu hohen Beträgen
123,456 : 100 = 001,234(56)
123,456 * 100 = (12)345,600
Gleitkommazahlen
- Nutzung von Mantisse und Exponent:
- Mantisse speichert Ziffern
- Exponent speichert Position der Mantisse (im Bezug einer Basis)
Mantisse Basis Exponent
123,456 = 0, 123456 * 10 ^ 3
IEEE 754
- Vorzeichen wird im ersten Bit gespeichert
- Positiv:
0, negativ:1
- Positiv:
- Normalisiert wird die umgerechnete Binärzahl auf
1,...- Mantisse sind die Ziffern nach dem Komma
- Exponent ist die Anzahl der Verschiebungen um eine Kommastelle
- Bias-Wert wird zum Exponenten dazu addiert
- Verhindert negative Exponenten
- Berechnung vom Bias-Wert:
ist die Anzahl der Bits, die zum Speichern vom Exponenten verfügbar sind
Beispiel
|VZ|EXPONENT |MANTISSE |
|X |X X X X X |X X X X X X |
- Vorzeichen: Positiv, also
0 - Umrechnen in Binär:
- Normalisieren:
- Daraus ergeben sich Mantisse (
10001) und Exponent () - Bias-Wert: 5 verfügbare Stellen für Exponenten (s.o.), also
- Also ist der Bias:
- Bias zum Exponenten dazu addieren:
- In binär umrechnen:
, also ist der Exponent 10010
|VZ|EXPONENT |MANTISSE |
|0 |1 0 0 1 0 |1 0 0 0 1 0 |
Buchstabenkodierung
ASCII
- 7 Bit sind ein Buchstabe
- Ziffern, Klein- und Großbuchstaben und Steuerzeichen
- Beispiele:
\n | 0 | A | a |
|---|---|---|---|
| 10 | 48 | 65 | 97 |
Unicode
- Großer Katalog an Zeichen, wobei jedes Zeichen eine bestimmte Bitfolge ist
- Beispiele:
© |
|---|
| A9 (Hex) 169 (Dec) |
UTF-8
- Vereinigung von ASCII und Unicode
- Immer Blöcke von 8 Bits
- Wenn ein Block mit
0startet ist es ein ASCII-Buchstabe - Andernfalls ist es ein Unicode-Buchstabe
- Der erste Block eines Buchstaben beginnt mit so vielen
1ern wie der Buchstabe Blöcke hat - Alle anderen Blöcke haben immer eine
1 - Die
1er werden immer vom restlichen Block mit einer0getrennt
- Der erste Block eines Buchstaben beginnt mit so vielen
Beispiel:
01111001
0 -> ASCII-Zeichen
11100010 10000010 10101100
1110 -> Unicode-Zeichen mit drei Blöcken
Bits danach sind dann die Bits für das Unicode-Zeichen
Arithmetik
Mit Binärzahlen
- Gleich wie schriftliche Operationen im Dezimalsystem
101101 110
+ 101110 - 11
Ü 1 11 Ü 11
--------- ------
= 1011011 = 11
Subtraktion mit Zweierkomplement
- Subtraktion auch möglich mittels Addition des Zweierkomplement:
- Komplement des Subtrahenden bilden
- Zum Minuenden addieren
- Überflüssige Bits abschneiden
Beispiel:
0000 0111
- 0000 1001 --> Komplement: 1111 0111
Addieren:
0000 0111
+ 1111 0111
-----------
= 1111 1110
Bei Gleitkommazahlen
- Addition und Subtraktion
- Auf gleichen Exponenten bringen
- Mantissenwerte addieren bzw subtrahieren
- Ergebnis normalisiern
- Multiplikation und Division
- Mantissen multiplizieren bzw dividieren
- Exponenten addieren bzw subtrahieren
- Ergebnis normalisieren