Wenn Sie schon länger als eine Kaffeepause einen Computer besitzen, haben Sie die Begriffe Bits und Bytes im Umlauf gesehen. Sie sind die Standardeinheiten zur Messung von RAM, Festplattenkapazität und Dateigröße in jedem modernen Dateibetrachter.
Möglicherweise hören Sie in einem Verkaufsgespräch, dass ein Gerät über einen 32-Bit Pentium-Prozessor mit 64 Megabyte RAM und 2,1 Gigabyte Festplattenspeicher verfügt. Diese Spezifikationen erscheinen ständig in technischen Leitfäden und Tutorials. Wenn Sie verstehen, was diese Begriffe tatsächlich bedeuten, können Sie mit dem Raten aufhören und mit dem Wissen beginnen.
Dezimalzahlen
Um es ein wenig zu verstehen, vergleichen Sie es mit etwas Bekanntem: Ziffern.
Eine Ziffer ist ein einzelnes Feld für einen Wert zwischen 0 und 9. Wir kombinieren diese, um größere Zahlen zu bilden. Nehmen Sie 6.357. Es ist vierstellig. Die 7 steht an der „1er-Stelle“. Die 5 steht an der 10er Stelle. Die 3 steht an der 100er-Stelle. Die 6 steht für die 1000er-Stelle.
Das kannst du explizit ausschreiben:
(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357
Oder verwenden Sie Zehnerpotenzen. Wenn man das Caret-Symbol (^) für „hoch“ verwendet, sieht es so aus:
(6 * 10^3) + (3 * 10^2) + (5 * 10^1) + (10^0) = 6000 + 300 + 50 + 7 = 6357
Jede Ziffer ist ein Platzhalter für die nächsthöhere Zehnerpotenz. Die erste Ziffer beginnt bei 10^0.
Das fühlt sich normal an, weil wir täglich ein Basis-10 -System verwenden. Es existiert wahrscheinlich, weil der Mensch zehn Finger hat. Wenn wir uns mit acht Fingern weiterentwickeln würden, würden wir wahrscheinlich ein Basis-8-System verwenden. Sie können jede gewünschte Basis verwenden. Unterschiedliche Grundlagen sind in unterschiedlichen Kontexten sinnvoll.
Computer verwenden das Zahlensystem zur Basis 2. Es ist auch als binäres Zahlensystem bekannt.
Das Base-2-System und das 8-Bit-Byte
Computer verwenden Base-2, weil es billig ist. Sie könnten einen Base-10-Computer bauen. Es wäre einfach teuflisch teuer. Base-2-Hardware ist relativ erschwinglich.
Computer verwenden also Binärzahlen. Sie verwenden Binärziffern anstelle von Dezimalziffern. Das Wort bit verkürzt „Binary digIT“.
Dezimalziffern haben 10 Werte: 0 bis 9. Bits haben nur zwei Werte: 0 und 1. Eine Binärzahl ist nur eine Folge von Nullen und Einsen, wie 1011.
Um den Wert zu ermitteln, verwenden Sie Potenzen zur Basis 2 anstelle von Potenzen zur Basis 10.
(1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 8 + 0 + 2 + 1 = 11
Jedes Bit stellt steigende Potenzen von 2 dar. Das Zählen im Binärformat ist unkompliziert. So vergleichen sich Dezimal- und Binärzahlen von 0 bis 20:
- 0 = 0
- 1 = 1
- 2 = 10
- 3 = 11
- 4 = 100
- 5 = 101
- 6 = 110
- 7 = 111
- 8 = 1000
- 9 = 1001
- 10 = 1010
- 11 = 1011
- 12 = 1100
- 13 = 1101
- 14 = 1110
- 15 = 1111
- 16 = 10000
- 17 = 10001
- 18 = 10010
- 19 = 10011
- 20 = 10100
Beachten Sie die Verschleppung. Bei Nummer 2 erfolgt zum ersten Mal ein binärer Übertrag. Wenn ein Bit 1 ist und Sie 1 hinzufügen, wird es zu 0 und das nächste Bit wird zu 1. Wenn Sie von 15 auf 16 gehen, werden vier Bits durchlaufen, sodass aus 1111 10000 wird.
Bits reisen selten alleine. Sie sind in 8-Bit-Sammlungen gebündelt. Diese Bundles werden Bytes genannt.
Warum acht Bits in einem Byte? Es ist, als würde man fragen, warum ein Dutzend Eier zwölf sind. Die Menschen haben sich in den letzten 50 Jahren durch Versuch und Irrtum für 8 Bits entschieden.
Mit 8 Bits können Sie 256 Werte darstellen. Sie reichen von 0 bis 255.
- 0 = 00000000
- 1 = 00000001
- 2 = 00000010
- …
- 254 = 11111110
- 255 = 11111111
In So funktionieren CDs erfahren Sie, dass eine CD 2 Bytes pro Sample verwendet. Das sind 16 Bit. Jede Stichprobe kann zwischen 0 und 65.535 liegen.
- 0 = 0000000000000000
- 1 = 0000000000000001
- 2 = 0000000000000010
- …
- 65534 = 1111111111111110
- 65535 = 1111111111111111
Als nächstes betrachten wir eine Art und Weise, wie Bytes verwendet werden.
Wie ASCII-Kodierung und binäre Mathematik Ihre Daten optimieren
Text ist keine Zauberei. Es sind nur Nummern, die ein Kostüm tragen.
Wenn Sie einen Satz eingeben, sieht Ihr Computer keine Buchstaben. Es sieht binäre Werte. Insbesondere basiert es auf dem Standard-ASCII-Zeichensatz, um Tastenanschläge in Daten umzuwandeln. In diesem System wird jeder Binärwert von 0 bis 127 einem bestimmten Zeichen zugeordnet. Die meisten Systeme erweitern dies mithilfe eines vollständigen Bytes auf 256 Werte und fügen akzentuierte Buchstaben und Symbole für internationale Sprachen hinzu.
Aber die 128 Kernkodizes bilden die Grundlage.
Betrachten Sie Windows 95/98 Notepad. Wenn Sie „Vier Punkte und vor sieben Jahren“ eingeben, weist die Software genau ein Byte Speicher pro Zeichen zu. Dazu gehören auch die Leerzeichen zwischen Wörtern. Leerzeichen ist ASCII-Code 32. Punkt ist 46. „A“ ist 65.
Probieren Sie es selbst aus.
Erstellen Sie eine Datei mit dem Namen „getty.txt“. Geben Sie diesen Satz ein. Speichern Sie es. Öffnen Sie Ihren Datei-Explorer. Die Größe beträgt 30 Byte. Warum? Weil es 30 Zeichen sind. Fügen Sie ein Wort hinzu. Die Datei wächst um die Anzahl der Buchstaben in diesem Wort. Es ist ein direktes Verhältnis von 1:1.
Öffnen Sie die Datei als Rohdaten und die Buchstaben verschwinden. Sie sehen Zahlen.
„
Vier und sieben
70 111 117 114 32 97 110 100 32 115 101 118 110
„
Dies sind dezimale Darstellungen von ASCII-Codes. Um technisch genau zu sein, sieht die Maschine nur Binärdateien. 32 wird zu „00100000“. Aber die Logik gilt: Jedes Byte enthält ein Zeichen.
Die ersten 32 Werte (0 bis 31) sind keine Buchstaben. Es sind Kontrollcodes. Rücksendungen. Zeilenvorschübe. Glockentöne. Die tatsächlich druckbaren Zeichen beginnen bei 32. Als nächstes kommt die Zeichensetzung. Dann Ziffern. Dann Großbuchstaben. Dann Kleinbuchstaben. Sie können das vollständige Diagramm auf Unicode.org ansehen, aber das Prinzip ist einfach. Der Textspeicher ist nur eine Liste dieser ganzen Zahlen.
Byte-Präfixe und binäre Mathematik verstehen
Sobald Sie begreifen, dass Daten nur aus Bytes bestehen, stoßen Sie auf ein neues Problem: die Skalierung.
Ein Byte ist klein. Die meisten Dateien sind riesig. Wir brauchen also Präfixe.
Wir verwenden Byte-Präfixe, um die Größe anzugeben. Kilo, Mega, Giga. Dies sind nicht nur Marketingbegriffe. Sie sind binäre Multiplikatoren.
- Kilo (K): $2^{10}$ = 1.024 Bytes
- Mega (M): $2^{20}$ = 1.048.576 Bytes
- Giga (G): $2^{30}$ = 1.073.741.824 Bytes
- Tera (T): $2^{40}$ = ~1,1 Billionen Bytes
- Peta (P): $2^{50}$ = ~1,1 Billiarden Bytes
- Exa (E): $2^{60}$ = ~1,1 Billionen Bytes
- Zetta (Z): $2^{70}$
- Yotta (Y): $2^{80}$
Kilo ist ungefähr tausend. Mega ist eine Million. Giga ist eine Milliarde.
Wenn jemand behauptet, seine Festplatte sei „2 Gigabyte“, meint er damit $2 \times 2^{30}$ Bytes. Genau 2.147.483.648 Bytes.
Das klingt abstrakt, bis man die Daten visualisiert. Eine Standard-CD fasst etwa 650 Megabyte. Drei CDs füllen ein 2-GB-Laufwerk. Üblich ist eine Terabyte-Datenbank. Petabyte-Datenbanken sind wahrscheinlich in großen Regierungseinrichtungen vorhanden. Die Skala wächst exponentiell.
Dies bringt uns zur binären Mathematik.
Es funktioniert wie eine Dezimalmathematik mit einer strengen Einschränkung. Jedes Bit kann nur 0 oder 1 sein.
Im Dezimalformat zählen wir 0-9. Wenn wir 9 erreichen und 1 addieren, übertragen wir die 1 in die nächste Spalte. Binär funktioniert identisch, aber der Übertrag erfolgt schneller.
Nehmen Sie eine Dezimaladdition:
„
452
+ 751
1203
„
Fangen Sie richtig an. $2+1=3$. Nächste Spalte: 5 $+5=10 $. Schreiben Sie 0, tragen Sie 1. Weiter: $4+7+1(carry)=12$. Schreibe 2, übertrage 1. Finale: $0+0+1=1$. Ergebnis: 1203.
Nun, binär.
„
010 (2 in Dezimalzahl)
+ 111 (7 in Dezimalzahl)
1001 (9 in Dezimalzahl)
„
Bit ganz rechts: $0+1=1$. Kein Tragen.
Zweites Bit: $1+1=10$. Schreibe 0, übertrage 1.
Drittes Bit: $0+1+1(Carry)=10$. Schreibe 0, übertrage 1.
Viertes Bit: $0+0+1(carry)=1$.
Ergebnis ist „1001“. Dezimal ausgedrückt ist das 9. Die Mathematik ist identisch. Die Darstellung ist nur Basis-2 statt Basis-10.
Das Fazit
Bits sind Binärziffern. Sie sind 0 oder 1.
Bytes sind Gruppen von 8 Bits.
Text ist lediglich eine Folge von Bytes, die ASCII-Codes zugeordnet sind.
Die Speichergröße wird in binären Potenzen von 1.024 gemessen.
Es ist nicht kompliziert. Es ist einfach grundlegend.
Um tiefer in die boolesche Logik und Gatterimplementierungen einzutauchen, schauen Sie sich an, wie die boolesche Addition funktioniert. Der Rest zählt nur binär.




















