In Bits und Bytes – das Geheimnis der Codes erfahren Sie, wie alles Digitale im Prinzip aufgebaut ist.
Stand 24.02.2022 (Erste Version vom 13.06.2012)
Darstellung von Daten (Messgrößen)
Daten sind von Grundsatz her Messgrößen. Die Tatsache, dass die häufigsten Daten, mit denen Sie es zu tun haben, Texte und Buchstaben sind, ändert daran nichts. Buchstaben sind dann eben spezielle Messgrößen.
Die Anschaulichkeit des Begriffes der Messgröße erleichtert es, den Unterschied zwischen analog und digital zu verstehen.
analog
Bei einer analogen Darstellung wird der Wert einer Messgröße durch eine kontinuierlich veränderbare physikalische Eigenschaft dargestellt. Am besten ist dies durch ein Beispiel zu verdeutlichen: Die Temperatur oder der Luftdruck wird analog über die Höhe einer Quecksilbersäule angezeigt. Ein weiteres Beispiel ist ein Hygrometer (Luftfeuchtemesser). Ein Hygrometer besteht aus einem an einem Pferdehaar befestigten Zeiger. Das Pferdehaar ändert seine Länge mit der Luftfeuchtigkeit, und mit Hilfe des Zeigers und einer Skala können Sie diese ablesen.
Die Anzeige kann jeden beliebigen Zwischenwert annehmen, es gibt keine Rasterung für die Messwerte.
Das Gleiche gilt auch für Musik, die physikalisch und ganz unprosaisch betrachtet nichts anderes ist als eine zeitliche Abfolge von Luftdruckschwankungen.
Wollten Sie nun diese analogen Werten in den Computer bringen oder Datenkommunikation betreiben, müssen Sie den Zeigerausschlag in eine Spannung verwandeln und diese dann in diskrete Stufen umwandeln und digitalisieren.
digital
Bei einer digitalen Darstellungsform stellt sich eine Messgröße durch vereinbarte Symbole dar. Jedes verwendete Symbol hat einen Wert, so zum Beispiel die dezimalen Zahlen 0 bis 9 oder die binären Werte 0 und 1. Die Summe der Symbole ergibt den darzustellenden Gesamtwert. Es ist möglich, auch Kombinationen der vereinbarten Symbole bestimmte Werte zuzuordnen. Entscheidend ist, dass nicht die Größe eines Symbols den Wert angibt, sondern das Symbol selbst.
Codierung
Sowohl bei der analogen wie bei der digitalen Darstellungsform kommen Sie bei großen Messwerten in Schwierigkeiten, da man weder die Länge eines Maßstabes noch die Zahl der Symbole beliebig groß machen kann. Eine analoge Darstellung ist daher stets nur innerhalb gewisser Grenzwerte möglich. Die digitale Darstellungsform hat den Vorteil, dass man durch Vereinbarungen über die Kombination der Grundelemente praktisch beliebig große Messwerte (allerdings diskret, also in einem Raster liegend) darstellen kann.
Wesentlich ist noch die Anzahl der möglichen unterschiedlichen Symbole. Während Sie beim Kaufmann in der Regel mit den Symbolen 0 bis 9 rechnen, operieren Computer am liebsten mit nur zwei Werten, 0 und 1. Dies führt zu den Begriffen binär, dual, dekadisch, dezimal.
binär
Von einer binären Darstellung von Daten oder Messwerten spricht man, wenn für die Darstellung zwei verschiedene Symbole verwendet werden. Dementsprechend benötigen Sie zwei verschiedene Signalzustände, um die so dargestellten Daten im Computer zu verarbeiten. Tab. 1 gibt einen Überblick über die möglichen technischen Darstellungen von Binärwerten.
Physikalische Größe | Binärziffer 0 | Binärziffer 1 |
Magnetisierung (Festplatte) | nicht magnetisiert | magnetisiert |
Frequenz (Tonhöhe) | niedrige Frequenz | hohe Frequenz |
Strom | kein Strom | Strom |
Spannung | positiv | negativ |
Amplitude (Lautstärke) | niedrig | hoch |
Lochstreifen | kein Loch | gelocht |
Tab.1: Physikalische Darstellung von Binärwerten
dekadisch
Von einer dekadischen Darstellung von Daten oder Messwerten spricht man, wenn für die Darstellung zehn verschiedene Symbole verwendet werden.
Das System, das Sie beim Kaufmann verwenden, also die Zahlen von 0 bis 9, ist dekadisch.
Bedeutung der Anordnung der Symbole
Binär bzw. dekadisch heißt zunächst nur, dass das digitale Darstellungssystem von Messgrößen zwei bzw. zehn Grundelemente umfasst. Die Stellung der Ziffern hat ebenfalls eine Bedeutung. Nur mit den Symbolen alleine könnten Sie sonst Daten mit einer großen Spannweite nicht darstellen.
Dies führt zu den Begriffen dual bzw. dezimal
Hinter den Bezeichnungen dualund dezimalversteckt sich die Vereinbarung, dass der Wert eines Grundelementes je nach Stellung (von rechts nach links) mit einem bestimmten Faktor multipliziert wird. Der Gesamtwert der dargestellten Messgröße ist die Summe der Werte der Grundelemente multipliziert mit dem jeweiligen Stellungswert; d.h. die Messgröße wird in Ziffern dargestellt.
Dezimalsystem
Das Dezimalsystem kennen Sie bereits aus dem Kindergarten. Die Symbole werden von rechts nach links jeweils mit der nächsten höheren Potenz von 10 multipliziert. Dabei ist 100 als 1 definiert. Allgemein ist irgendwas0 immer als 1 definiert.
Ein Beispiel:
4735 = 3*1000+7*100+3*10+5*1 = 3*103 +7*102+3*101+5*100
Dualsystem
Das Dualsystem funktioniert im Prinzip genauso wie das Dezimalsystem. Die Symbole werden von rechts nach links jeweils mit der nächsten höheren Potenz von 2 multipliziert.
Ein Beispiel:
11001 = 1*24+1*23+0*22+1*101+1*20 = 1*16+1*8+0*4+1*2+1*1=27
Dabei ist 22=2*2, 23=2*2*2 usw.
20 ist definitionsgemäß gleich 1.
Computer arbeiten überwiegend digital-binär.
Binäre Codierung von Buchstaben
Es sind nicht nur Zahlen, sondern auch Buchstaben und Sonderzeichen zu berücksichtigen. Die zunächst für „nackte Messwerte“ geprägten Begriffe binär, dual, dezimal usw. werden einfach auch auf Buchstaben und Sonderzeichen übertragen, d. h. jedem Zeichen wird eine Zahl (ein Wert) zugeordnet und mit einer vorgegebenen Anzahl von Binärziffern (=Codeelemente) codiert.
Zeichen (= Zahlen, Buchstaben, Sonderzeichen) werden aus einer festgelegten Anzahl von Codeelementen gebildet. Die Codeelemente werden in definierter Weise zu Zeichen gruppiert und bilden einen endlichen Zeichenvorrat.
Bei der Datenübertragung werden binäre (zweiwertige) Codeelemente bevorzugt. Jedem Signalzustand entspricht eine Bitkombination aus binären Codeelementen.
Bits und Bytes
Begriffe
Bit:
Zur Kennzeichnung der binären Codeelemente wurde das Kunstwort Bit (binary digit , Binärziffer) eingeführt. Ein Bit unterscheidet zwei Zustände (ja-nein, 1-0, hoch-niedrig) und ist die kleinstmögliche Informationseinheit, die man überhaupt finden kann.
Code:
Eine Vorschrift für die eindeutige Zuordnung der Zeichen eines Zeichenvorrats zu derjenigen eines anderen Zeichenvorrats heißt Code.
Byte:
Die Zusammenfassung von 8 Bit (ein auch sogenanntes Oktet) hat eine besondere Bedeutung in der Datenverarbeitung. Daher hat man dem 8-Bit-Wort die Bezeichnung Byte spendiert.
Verschiedene Codes
Informationen in Computern müssen in einem vereinbarten Code niedergelegt werden. Besonders wichtig ist das auch für die Datenkommunikation, weil Computer nur Nachrichten austauschen können, wenn sie den gleichen Code verwenden.
Unter einem Code versteht man eine Vorschrift für die eindeutige Zuordnung der Zeichen eines Zeichenvorrats (etwa Zahlen und Buchstaben) zu denjenigen eines anderen Zeichenvorrats (z.B. 7 Bit-Darstellungen).
In Datenverarbeitungs-Systemen (und in der Datenkommunikation) sind verschiedene Codes üblich. Die einzelnen Übertagungscodes unterscheiden sich in der Anzahl der Bits und in der Bitstruktur. Die Anzahl der darstellbaren Zeichen eines Codes richtet sich nach der Art und dem Aufbau des Codes.
Bei einem Code mit n binären Codeelementen (n-wertiger-Code) sind maximal 2n Kombinationen möglich. Wird jeder Kombination ein Zeichen zugeordnet, so sind maximal 2n Zeichen möglich.
Mit einem 4-Bit-Code können Sie maximal 16 unterschiedliche Zeichen darstellen. Eine Kette von 4 Bit, also ein halbes Byte, bezeichnet man auch als Nibble.
Mit einem 7-Bit-Code können Sie maximal 128 unterschiedliche Zeichen darstellen.
Mit einem 8-Bit-Code können Sie maximal 256 unterschiedliche Zeichen darstellen. Eine Gruppe von 8 Bit bezeichnet man als Byte.
Codes werden oft in Tabellen dargestellt.
Eine Code-Tabelle in der Datenverarbeitung wird üblicherweise in Form einer Matrix dargestellt, d.h. in Spalten und Zeilen. Die Spalten und Zeilen sind binär nummeriert und ergeben zusammen die binäre Codierung des entsprechenden Matrixelementes. In den Matrixelementen stehen die Zeichen des abzubildenden anderen Zeichenvorrates.
Zwei Codes stelle im Folgenden vor.
ISO-7-Bit-Code (ASCII)
Ein häufig in Rechnern verwendeter Code ist der ISO-7-Bit-Code. Wie die Bezeichnung schon vermuten lässt, hat die ISO (International Standardisation Organisation) diesen Code als Norm aufgenommen unter der Nummer ISO/IEC 646. Der Code trägt auch den Namen ASCII, der DIN hat für diesen Code die Norm DIN 66003 vergeben.
Im ISO-7-Bit-Code sind für alle Zeichen unseres Alphabets und für einige Sonderzeichen (u.a. Steuerzeichen für eine Datenübertragung) 7-Bit-Kombinationen festgelegt. Man untergliedert die Code-Tabelle dementsprechend: Die Steuerzeichen stehen in den Spalten 0 und 1, die Schriftzeichen in den Spalten 2 bis 7 der Code-Tabelle.
Eine bestimmte Anzahl von Bitkombinationen der Schriftzeichen ist reserviert für die Belegung mit nationalen Sonderzeichen z.B. ä, Ö, ü.
Die Zuordnungen finden Sie in Tab.2 Die Kodierung eines Zeichens erhalten Sie dadurch, dass Sie den Zeilenwert hinter den Spaltenwert schreiben, z. B. ‚A‘ = 100 0001 (binär) = 41 hexadezimal. Hexadezimal ist ein weiterer in der Computerei verbreiteter Code: statt Zahlen von 0 bis 9 oder Bits von 0 bis 1 werden die Symbole von 0 bis F verwendet. Dieser Symbolvorrat hat somit 16 Elemente.
Binär= hexadezimal | 000=0 | 001=1 | 010=2 | 011=3 | 100=4 | 101=5 | 110=6 | 111=7 |
0000=0 | NUL | DLE | 0 | @ | P | ` | p | |
0001=1 | SOH | DC1 | ! | 1 | A | Q | a | q |
0010=2 | STX | DC2 | „ | 2 | B | R | b | r |
0011=3 | ETX | DC3 | # | 3 | C | S | c | s |
0100=4 | EOT | DC4 | $ | 4 | D | T | d | t |
0101=5 | ENQ | NAK | % | 5 | E | U | e | u |
0110=6 | ACK | SYN | & | 6 | F | V | f | v |
0111=7 | BEL | ETB | ‚ | 7 | G | W | g | w |
1000=8 | BS | CAN | ( | 8 | H | X | h | x |
1001=9 | HT | EM | ) | 9 | I | Y | i | y |
1010=A | LF | SUB | * | : | J | Z | j | z |
1011=B | VT | ESC | + | ; | K | [ | k | { |
1100=C | FF | FS | , | < | L | \ | l | | |
1101=D | CR | GS | – | = | M | ] | m | } |
1110=E | SO | RS | . | > | N | ^ | n | ~ |
1111=F | SI | US | / | ? | O | _ | o | DEL |
Tab. 2: ISO 7 Bit Code
Die Bedeutung der folgend aufgelisteten Steuerzeichen soll hier nicht erläutert werden – diese erschließt sich erst bei einer näheren Betrachtung der Datenkommunikation. Zur Vollständigkeit seien sie jedoch hier aufgelistet (Tab. 3)
Zeichen | Bedeutung |
ACK | acknowledge – positive Rückmeldung |
BEL | bell – Klingel |
BS | backspace – Rückwärtschritt |
CAN | cancel – ungültig, Abbruch |
CR | carriage return – Wagenrücklauf |
DCi | device control i – Gerätesteuerung i |
DEL | delete – löschen, Entfernen |
DLE | data link escape – Datenübertragungsumschaltung |
EM | end of medium – Ende der Aufzeichnung |
ENQ | enquiry – Stationsaufforderung, Anfrage |
EOT | end of transmission – Ende der Übertragung |
ESC | escape – Umschaltung |
ETB | end of transmission block – Ende des Datenübertragungsblocks |
ETX | end of text – Ende des Textes |
FF | form feed -Formularvorschub |
FS | file seperator – Hauptgruppentrenner |
GS | group seperator – Gruppentrenner |
HT | horizontal tabulation – Horizontaltabulator |
LC | lower case – untere Stellung, Kleinbuchstaben |
LF | line feed – Zeilenvorschub |
NAK | negative acknowlegde – negative Rückmeldung |
NL | new line – neue Zeile |
NUL | nil – Null (Füllzeichen ohne Einfluß auf Zeicheninhalt) |
RS | record seperator – Untergruppentrenner |
SI | shift in – Rückschaltung in Standardcode |
SO | shift out – Dauerumschaltung in andere Codetabellen |
SOH | start of heading – Anfang des Kopfes |
STX | Start of text – Anfang den Textes |
SUB | substitution – Austausch eines Zeichens |
SYN | synchronous idle – Synchronisationslauf |
UC | upper case – obere Stellung, Großbuchstaben |
US | unit seperator – Teilgruppentrenner |
VT | vertical tabulation – Vertikaltabulator |
Tab. 3: Liste der Steuerzeichen aus dem ISO 7 Bit Code
8-Bit-Codes
Für die Darstellung im Computer gibt es einige verbreitete 8-Bit-Codes. Mit 8 Bit können Sie 256 verschiedene Zeichen codieren. Daraus ersehen Sie schon, dass es Schwierigkeiten bei der Umsetzung von einem Code in den anderen geben wird. Tatsächlich sind diese Code-Inkompatibilitäten ein Hemmschuh für den ungestörten Datenaustausch zwischen Rechnersystemen.
- Der EBCDIC (Extended Binary Coded Decimal Interchange Code) ist eine Erfindung der Firma IBM und ist insbesondere auf deren Mainframes zu finden. Aber auch auf Siemens BS2000-Großanlagen wird dieser Code eingesetzt. Die IBM hat diesen Code durch die ISO normen lassen.
- Der IBM-PC-Code ist eine Erweiterung des ISO-7-Bit-Codes auf 8 Bit für nationale Buchstaben und zusätzliche Sonderzeichen. Dieser Code ist nicht genormt.
- Der ANSI-PC-Code ist eine genormte Erweiterung des ISO-7-Bit-Codes auf 8 Bit für nationale Buchstaben und zusätzliche Sonderzeichen. Dieser Code hat insofern für PC-Anwendungen eine Bedeutung, da er praktisch der Standard-Windows-Zeichencode ist.
Warum sind Bits und Bytes spannend?
1980
Es gab Großrechner, dazu gab es Terminals, die mit einer direkten Datenleitung (1200 Bit/s) angebunden waren. Ein LAN-Kabel schfft heute die millionenfache Menge, trotzdem hat das gut funktioniert. Auf den Datenleitungen lief ein (Sicherungs-)Protokoll mit Namen LU2. Wenn man direkt Anwendugen auf diesen Datenstrom schreiben wollte, war es erforderlich zu wissen, mit welchen Bits was codiert war.
2022 – nur 42 Jahre später
42 ist eine wichtige Zahl. Aber ich werde Ihnen hier nicht verraten, warum. Und: seit 1980 sind 42 Jahre vergangen. Was haben wir heute:
- Klickibunti Anwendungen auf einem Betriebssystem, das selbst die Entwickler nicht mehr verstehen.
- GigaBit WLAN und LTE, um noch schneller dauernd weinende Heldinnen in Serien anschauen zu können (ein Klingone ist ein Klingone ist ein ..)
- Instagram mit Terabytes an Bildern, bei denen es nicht interessiert, in welcher Reihenfolde die Bits angeordnet sind.
- Internet of Things mit TTN (LoRaWAN) mit 53 Byte alle 103 Minuten, das entspricht einer Bitrate von 0,07 Bit pro Sekunde. Für Smart Cities. Für Industrie 4.0.
Und letzteres heißt: Sie denken wieder über jedes Bit nach, ob Sie es nicht einsparen können, und kramen eine Programmiersprache (C von 1974!) von 1973 hervor, die damit gut umgehen kann.
Be Welcome, Brave New World.
Quellen zu Bits und Bytes
Brell, Claus (2002) Der PC im Netz. Polding. bei Amazon. Achtung: das Buch ist 20 Jahre alt. Da haben wir Computer noch mit Koax-Kabeln vernetzt… Im Darknet bekommen Sie das Buch bestimmt umsonst als PDF.
Übersicht über alle meine Artikel zur Wirtschaftsinformatik
Teile diesen Beitrag.