Binärsystem Flashcards
Computerspeichersystem
- beinhaltet Binary Digits (Bits), die den Wert 0 oder 1 haben
- 8 Bits = 1 Byte
- ein Byte hat 2^8 (256) mögliche Kombinationen
- Zusammenführung von 8 Bits = 1 Byte, Zusammenführung von mehreren Bytes nennt man (Speicher)wort
- Wort ist die Datenmenge, die ein Computer verarbeiten kann. Diese ist nicht normiert aber häufige Bytes sind 2 (16Bits), 4 (32 Bits) und 8 (64 Bits). -> Byte Anzahl X 8 = Anzahl der Bits
Stellenwertsysteme
- eine Zahl wird durch Ihre Basis und einer Potenz ausgedrückt (Linearkombination)
- Die Linearfaktoren heißen Ziffern ( die Zahlen die vor der Basis und Potent steht)
bekannte Stellenwertsysteme
- Dezimalsystem: Basis 10, Ziffern 0-9
- Octalsystem: Basis 8, Ziffern 0-7
- Hexadezimalsystem: Basis 16, Ziffern 0-9, A-F
-Binärsystem Basis 2, Ziffern 0-1
Addition im binärsystem
- 0 + 0 =0
- 1 + 0 / 0+1 = 1
- 1 + 1 = 10
- 1 + 1 + 1 = 11
- addieren mit Übertrag von hinten nach vorne
Subtraktion durch Addition des Komplements
Komplementbildung zu n Bits:
- führende Nullen ergänzen auf n Bits
- alle Bits inventieren 0 -> 1 , 1-> 0
- Addieren von 1
bsp. 11011000 (216) - 110111( 55)
1: Nullen ergänzen bei der zweiten Zahl auf n Bits ( hier n = 10) 0000110111
2: invertieren : 1111001000
3: plus 1. Ergibt dann: 1111001001
4: 11011000(216) mit dem Komplementärergebnis addieren und nur die n stellen beachten (von hinten gezählt )
Größte n-stellige Binärzahl
- 2^n -1
Bsp
11111111 = 2 ^8 − 1 = 255
Erst wenn 11111111 + 1 ( = 100000000) Binär gerechnet wird erhält man das Ergebnis von 2 hoch 8 = 256.
oben sind die 8 Bits jedoch schon voll aber ergeben nur 255 im Dezimalsystem.
Speichern ganzer negativer zahlen
- Negative ganze Zahlen werden in Form ihres Komplements
gespeichert.
Bsp - 89
1. 89 in binär umrechnen und ggf. auf n Bits ergänzen mit Nullen
2. inventieren
3. plus 1
- im Binär erste Ziffer 1 im Zweierkomplement = Indikator einer negativen Zahl
- Bei Verwendung des Komplements steht der halbe Wertebereich für positive Zahlen zur Verfügung und die andere Hälfte für negative Zahlen.
Es können zahlen bis 49 (bei n = 100) verwendet werden danach kann komplementär mit Zahl getauscht werden ( da bereits belegt)
Teilen durch 2 im Binärsystem
- Alles wird um eine Stelle nach rechts verschoben
Bsp
1011010 (90) :2 (dezimal) =
(64+16+8+2) :2 = (32+8+4+1) = 101101 (45)
- wenn 45 in Binär gerechnet wird und 90 in Binär dann sind 90:2 = 45, das ist nur ein Rechenschritt mehr, der Rest bleibt gleich . Deswegen wird die letzte Ziffer entnommen, da Leserichtung von unten nach oben
Speicherung ganzer Zahlen
- werden Binär gespeichert
- Variable vom Typ Int umfasst 4 bytes (32 Bits)
- kann 32 binäre Stellen speichern
- größte mögliche gespeicherte Zahl 2^32 -1
- Es wird jedoch ein Bit als Indikator des Vorzechens verwendet , bleiben nur noch 31 Bits
Was ist ein Überlauf?
- Wenn Zahl zu groß/klein für vorgesehenen Wertebereich/Speicherplatz wird
- führt dann zu falschen Zahlen
Binäre Brüche
- Ziffern nach dem Komma sind negative Potenzen von zwei
bsp 0,1101001 = 2^-1 + 2^-2 + 2^-4 + 2^-7 - die meisten endlichen Brüchen führen zu einem periodischen binären Bruch
- endliche binäre Brüche haben in Ihrer Dezimalstarstellung als letzte Ziffer immer eine 5
Schema zur Umrechnung dezimaler Brüche
z.B 0,9
0,9 x 2 = 1,8 -> 1
0,8 x 2 = 1,6 -> 1
0,6 x 2 = 1,2-> 1
0,2 x 2 = 0,4 -> 0
0,4 x 2 = 0,8 -> 0
0, 8 x 2 = Periode, Wiederholung ab Zeile 2
-Leserichtung von oben nach unten
0,9 = 1(periode)1100 = 0,11100110011001100..
Festkommastarstellung
- Bei Speicherung von Zahlen mit Nachkommastellen wäre dies der direkte weg
- vorhandene Bits werden fest eingeteilt in Bits vor und nach dem Komma (z.B 8 Bits: xxxx,xxxx)
- haben einen eingeschränkten Wertebereich und werden deshalb nur selten genutzt
Gleitkommadarstellung
- Mantisse und Exponent werden getrennt gespeichert
- Mantisse hat nur eine Stelle vor dem Komma
- kann mit derselben Anzahl an Speicherstellen einen größeren Wertebereich als die Festkommadarstellung erzielen
IEEE 754
- es gibt verschiedene Systeme zur Speicherung binärer Gleitkommazahlen
- Singe Precision (c# Datentyp float)
-32 Bits, 23 Bits Mantisse (wird danach abgeschnitten), 8 Bit Exponent , 1Bit Vorzeichen - “6 gültige Stellen”
- Double Precision (Datentyp double)
64 Bits, 52 Bit für die Mantisse (wird danach abgeschnitten), 11 Bit Exponent, 1 Bit Vorzeichen - “12 gültige Stellen”
Speicherung des Exponenten
- zum Exponenten werden 127 addiert
- Resultat wird dann binär gespeichert
Ganze Zahlen und Nachkomma von Binär in Dezimal
- Bei ganzen Zahlen beginnt man von hinten nach vorne und fängt bei 2^0 an
- Bei Nachkommastellen beginnt man man nach dem Komma von vorn nach hinten beginnend mit 2^-1
Gültige Stellen binär und dezimal
- in n binären Stellen kann max. 2^n - 1 gespeichert werde
- hierbei ist 2 ≈ 10^0,301
2^n ≈ (10^0,301)^n = Anzahl möglicher Werte - n x 0,3 = Anzahl der Nachkommastellen, die gespeichert werden können
Genauigkeit und Rundungsfehler
- Zahlen können nach dem Rechnen an einigen Stellen Rundungsfehler enthalten
- die 1 vor dem Komma (normiertes Gleitkomma) wird nicht mitgespeichert, da immer eine 1 vor dem Komma steht.
(mathematisch gehört die 1 vor dem Komma zur Mantisse, gespeichert wird erst nach dem Komma)
Speichern von Buchstaben und Zeichen
- werden gemäß einem Code in eine ganze (positive) Zahl übersetzt
- die Zahl wird dann binär gespeichert
- früher verbreitet: ASCII, 128 Zeichen, 7 Bits
bsp char = ‘A’, Spalte 5 oben + Spalte 60 seitlich = 65b -> wird ins binär gerechnet - jetzt Unicode mit aktuell 140.000 Zeichen
in 17 Ebenen unterteilt, wovon jede 2^16 Zeichen speichern kann - enthält auch andere Alphabete
- häufig genutzt in UTF-8 (variable Byte-Längen Codierung)