So, nun aber mal zu einem echten Informatik-Thema, oder besser: zu dem Informatik-Thema schlechthin (welches auch titelgebend für das Blog war): dem Bit.

Studierte Informatiker, Mathematiker und Artverwandte werden diesen Artikel unter Umständen ein wenig langweilig finden (so viel sei hier schon gesagt: es geht um das binäre Zahlensystem), aber da hoffentlich auch einige Leute aus anderen Bereichen hier mitlesen, möchte ich diesen Grundlagenartikel trotzdem bringen. Wer sich trotz dieser Warnung ob der Einfachheit intellektuell beleidigt fühlt, kann keinen Einspruch mehr erheben – er wurde vorgewarnt!

Das Bit ist die kleinste Werteinheit, die durch einen Computer dargestellt werden kann; es kann lediglich zwei verschiedene Werte annehmen, welche für gewöhnlich mit 0 und 1 oder falsch und wahr (false und true im Englischen) bezeichnet werden. Damit entspricht ein einzelnes Bit einer einzelnen Ziffer aus dem Dualsystem bzw. Binärsystem (beide Begriffe sind äquivalent, ich werde den zweiten benutzen), dem Zahlensystem zur Basis 2. Die Bedeutung der Zweiwertigkeit für die Informatik kommt daher, dass derartige Ziffern recht einfach durch die Zustände „Strom an” und „Strom aus” dargestellt werden können – dazu aber in einem späteren Beitrag mehr.*

Wer damit jetzt nichts anfangen kann: das sonst üblicherweise benutzte Zahlensystem ist das Dezimalsystem, also ein Zahlensystem zur Basis 10. Wir unterscheiden normalerweise zehn verschiedene Ziffern (0, 1, 2, …, 9), aus welchen wir die uns bekannten Zahlen zusammensetzen. Beim Zählen mit dem Dezimalsystem wird nach jeweils zehn aufeinanderfolgenden Werten ein Übertrag auf die nächsthöhere Zehnerstelle aufgerechnet: nach der 9 kommt die 10, nach der 19 die 20, nach der 99 die 100 und so weiter.

Das binäre System folgt genau den gleichen Regeln, mit dem einzigen Unterschied, dass es hier eben nur zwei verschiedene Ziffern gibt, der Übertrag also entsprechend früher entsteht. Die ersten 15 Zahlen im Binärsystem mit ihrer jeweiligen Entsprechung im Dezimalsystem lauten also folgendermaßen:

i-2725f4e6d2a417459d290b4cbcceb546-image001.png

Werden im gleichen Kontext Zahlen aus verschiedenen Zahlensystemen benutzt, so wird die Basis ihres Zahlensystems für gewöhnlich mit einer nachgestellten Zahl angezeigt, also zum Beispiel 1410 für eine Dezimalzahl und 10112 für eine Binärzahl.

Die Umrechnung von Binärzahlen ins dezimale System ist relativ einfach. In beiden Systemen entspricht jede Position innerhalb der Zahl einer bestimmten Potenz; im Dezimalsystem einer Zehnerpotenz, im Binärsystem entsprechend einer Zweierpotenz. Die erste (hinterste!) Stelle, die Einerstelle, in einer Dezimalzahl entspricht der Potenz 100, die zweite Stelle (die Zehnerstelle) entspricht der Potenz 101, die Hunderterstelle der 102 und so weiter. Die Zahl 365 lässt sich also folgendermaßen darstellen (auf die Anzeige der Basis 10 verzichte ich hier):

i-7a12872f700c9634dff6d7eb9ae3ddc3-image013.png

Im binären System kann genau die gleiche Rechnung angestellt werden, wodurch sich durch einfaches Ausrechnen auch gleich die Umrechnung ins Dezimalsystem ergibt. Am Beispiel der Zahl 1011 sähe das folgendermaßen aus:

i-3b70cfa61d4f1f450b035dc436b5770d-image015.png

Aufmerksame Leser werden sich jetzt sicher fragen, warum beim Aufspalten der Dezimalzahl in die einzelnen Potenzen die Zahl wieder selbst, bei der Binärzahl aber die Umrechnung in die Dezimalzahl herauskam. Der Grund hierfür ist, dass die Potenzen selbst in einem bestimmten Zahlensystem stehen und entsprechend ausgerechnet werden müssen. In unserem Fall standen die Potenzen alle im Zehnersystem, dementsprechend fand eine Umrechnung ins dezimale System statt. Auf diese Art kann übrigens jede Zahl in ein anderes Zahlensystem umgerechnet werden.

Das Rechnen mit Binärzahlen findet genauso wie im Dezimalsystem statt, mit dem bereits genannten Unterschied, dass weniger Ziffern zur Verfügung stehen. Hiermit erklärt sich also auch der Titel dieses Beitrages: die Addition der beiden Zahlen 1 und 1 ergibt im dezimalen System 210, im Binärsystem dementsprechend 102. Die anderen Rechenarten folgen den gleichen Regeln. Übrigens kann im binären System ebenso wie im Dezimalsystem schriftlich addiert werden – der Übertrag hat hier nur den Wert 0 oder 1, ansonsten ist das Schema gleich!

Von besonderer Bedeutung in der Informatik sind die sogenannten logischen Operationen. Das sind Rechenoperationen, die so in erster Linie auf den binären Zahlen definiert sind; praktisch jeder Rechner baut auf diesen logischen Operationen auf (warum das so ist, werde ich in einem späteren Artikel erklären). Die am häufigsten verwendeten Operationen sind die Negation (¬), die Und-Verknüpfung (∧), die Oder-Verknüpfung (∨) und vielleicht noch das Exklusiv-Oder (⨁). Die Regeln für derartige Rechnungen sind relativ einfach und mit einer kleinen Wertetabelle für jeden Operator gut darzustellen:

i-4783059e973ef9ed549a3b667f12d1f0-Table.png

In der Informatik ist es üblich, mehrere Bits zu sogenannten Bitketten fester Länge zusammenzufassen. Historisch gewachsen ist dabei die bekannteste Bitkette der Länge 8: das Byte. Heute übliche Bitketten haben entweder die Länge 32 (wenn ein Rechner vor allem damit rechnet, spricht man von einem 32-Bit-System) oder die Länge 64 (dann ist es ein 64-Bit-System). Natürlich sind auch andere Längen möglich, üblich sind jedoch in der Regel Zweierpotenzen (also 8, 16, 32, 64, 128 und so weiter). Die oben erklärten logischen Operationen können auch auf ganze Bitketten angewandt werden (und in der Tat wird das häufig gemacht); die praktische Umsetzung sieht dann so aus, dass einfach paarweise die einzelnen Positionen in beiden Bitketten miteinander verrechnet werden.

Regelmäßig für Verwirrung sorgt die Verwendung von Maßeinheiten wie Kilo, Mega, Giga im Zusammenhang mit binären Zahlen. Diese entsprechen nämlich nicht einer Größenordnung von 1000 (103), sondern einer Größenordnung von 1024 (210). Ein Kilobyte sind demnach nicht 1000 Byte, sondern 1024 (210 Byte), ein Megabyte entsprich 1025 1024 Kilobyte (220 Byte) und so weiter.

Damit sollte jetzt auch endlich allen der folgende Witz klarwerden:
There are 10 kinds of people – those who understand Binary and those who don’t.

Alles klar soweit?

Nachtrag:
Nils hat eben korrekt darauf hingewiesen: es gab (und gibt immer mal wieder) den Vorschlag, die üblichen Präfixe wie kilo, mega und so weiter in ihrer üblichen Form (also als Potenzen 103, 106, …) zu benutzen und für die Binärpotenzen die Vorsätze “kibi”, “mebi” und ähnliches zu verwenden. Auf Grund der weiten Verbreitung der aktuellen Verwendung konnten sich diese Vorschläge jedoch bisher nicht durchsetzen.


*Durch die Bits ergibt sich übrigens die oft benutzte Bezeichnung „digital” für alles, was mit Computern zu tun hat. „Digital” leitet sich vom lateinischen Wort „digitus”, dem Finger ab; es bezieht sich auf das Fingerzählen, deutet also ein diskretes (halbe Finger werden nicht gezählt) und vor allem ein endliches (wir haben nur 10 Finger) Zählsystem an.

Kommentare (15)

  1. #1 KommentarAbo
    Juni 6, 2011

  2. #2 rolak
    Juni 6, 2011

    Intelektuell beleidigt bei freiwilligem Lesen? Ok, ich habe in blogs etc schon die merkwürdigsten Reaktionen gelesen, aber deswegen einen disclaimer einzubauen… Der Punkt bei (wohl nicht nur) mir ist eher der, daß mich beim Grundlagen erklären wesentlich besser fühle, wenn ich aufgrund der Mimik des Gegenübers reagieren kann, eine Möglichkeit, die sich bei einem Text nicht bietet. Daher schau ich ab+zu gerne mal, wie es andere erklären würden.
    Einige Winzigkeiten:

    • Die Bildchen mit Potenzen und Indices hängen durch, ist afaik auch viel zu viel Fummelei gewesen, da (im Gegensatz zu den Kommentaren) <sub> und <sup> im post durchaus zulässig sind.
    • Das xor-Zeichen im Text wird unter UTF-8 nicht dargestellt
    • Das MiB hat ein KiB zuviel

    Spätestens seit dem grünen Punkt benutzt doch keiner mehr ‘Dualsystem’ 😉
    Für die meisten in meinem Nicht-IT-Umfeld am verblüffendsten ist meine Art, mit den Fingern mitzuzählen – doch warum sollte ich auf den upgrade (0..10)=>(0..1023) verzichten?

    Wird in dem angekündigten Folgetext das ‘Strom {an|aus}’ auch zu ‘Spannung {über|unter} Schwellwert’? Mir ist klar daß letzendlich (wenn auch cmos-typisch eher kürzestfristig) Ströme fließen, doch – nun ja, ECL war noch nie so bekannt und verbreitet.

    /Übertrag/ Im Zuge meines Interessenwechsels von analoger zu digitaler Schaltungstechnik war der Punkt, der mich am meisten faszinierte der, welch ungemein hoher Aufwand angestrengt wurde, für eine Teiladdition den Übertrag schneller als das eigentliche Ergebnis zu berechnen. War aber zum Glück in die *481/2er slices eingebaut.

    Nicht nur Grundlagenforschung, auch Grundlagenvermitteln ist eine wesentliche Aufgabe – viel Erfolg!

  3. #3 Dr. Webbaer
    Juni 6, 2011

    *Durch die Bits ergibt sich übrigens die oft benutzte Bezeichnung „digital” für alles, was mit Computern zu tun hat. „Digital” leitet sich vom lateinischen Wort „digitus”, dem Finger ab; es bezieht sich auf das Fingerzählen, deutet also ein diskretes (halbe Finger werden nicht gezählt) und vor allem ein endliches (wir haben nur 10 Finger) Zählsystem an.

    Das Dezimalsystem ist vermutlich der Anzahl der “Digiti” (‘Finger’ oder ‘Zehen’) geschuldet, bei nur zwei Fingern an jeder Hand hätte das Humankapital womöglich das Binärsystem – was nicht unpraktisch wäre wenn’s um IT geht.

    MFG
    Dr. Webbaer

  4. #4 Marcus Frenkel
    Juni 6, 2011

    Dem Megabyte habe ich sein Kilobyte genommen, danke. Und sub/sup war ein guter Hinweis. Nochmal danke. 😉

    Die Strom an/aus (bzw. die Schwellwert-Alternative) werde ich nicht allzu detailliert behandeln, da ich wie bereits einmal geschrieben in der technischen Informatik nicht allzu sehr zu Hause sind. Gleichwohl sollte Strom an/aus in der Hinsicht korrekt sein, als das bei den ersten Rechnern (Z2 und Z3) ja Relais zum Einsatz kamen, die genau diese Zustände vermittelten.

  5. #5 schlappohr
    Juni 6, 2011

    […] “Digital” leitet sich vom lateinischen Wort „digitus”, dem Finger ab; […]

    Nach einer anderen Definition ist “digital” gleichbedeutend mit “zeichenbasiert”. Jede Art der Kommunikation oder Speicherung, die auf Gruppen von Symbolen oder Zeichen aus einem endlichen Alphabet basiert, ist nach dieser Definition digital, unabhängig vom zugrunde liegenden physikalischen Übertragungs- bzw. Speicherverfahren. In diesem Sinne ist also auch die menschliche Sprache digital.
    Soweit ich weiß, stammt diese Definition mehr aus der Linguistik als der Informatik.

  6. #6 Anke
    Juni 6, 2011

    Hallo!

    Ein herzliches Willkommen von mir. Ich bin zwar kein Informatiker, mein Mann aber freut sich sehr, dass hier jetzt ein Informatik-Blog ist. Viel Spaß!

    VG ANke

  7. #7 Nils
    Juni 6, 2011

    War da nicht mal was mit irgendeinem IEC (oder sonst was) Standard , der besagt, dass 1000 Byte ein Kilobyte sind, und 1024 Byte entsprechen einem Kibibyte (mit dem “bi” für binär) etc.? Das die Formulierung nicht sehr gebräuchlich ist, weiß ich selber, aber ich fänd es zumindest ganz nett darauf hinzuweisen.

  8. #8 Marcus Frenkel
    Juni 6, 2011

    @Anke
    Danke. Ich hoffe, ich kann die Erwartungen erfüllen. 😉

    @Nils
    Danke für den Hinweis, ich habe es noch zum Artikel hinzugefügt.

  9. #9 Henry
    Juni 6, 2011

    Netter Text zur Einführung in die Zahlensysteme.

    Ich würde mich freuen, wenn du noch einen Beitrag über das rechnen (vieleicht sogar mit Komma) im dualen System schreiben würdest.

  10. #10 Marcus Frenkel
    Juni 6, 2011

    Ist vermerkt, danke für die Anregung. 😉

  11. #11 rolak
    Juni 6, 2011

    Na wenn das Demo-Beispiel die kleinzahlige Z-Serie ist, (also weit vor Z80) geht das mit dem Strom mehr als in Ordnung. Tagsüber fiel mir auch ein, daß bei meiner ‘Starttechnologie’ TTL die verwendeten Schalter auch erst bei einem bestimmten B-E-Strom durchschalten, das hatte ich wohl schon verdrängt^^

    Das mit dem (angekündigten) Rechnen erinnert mich an einen Urlaub in der Eifel, damals, als die Weiden noch grün und unschuldig waren, und wegen Regenwetters Langeweile aufzukommen drohte. Da der erste Z80-Rechner bereits in Arbeit war, steckte ‘rein zufällig’ die Kopie mit dem Befehlssatz in der Reisetasche und so wurde flugs mit viel Papier, Bleistift und Ratzefummel ein 32bit IE³ Gleitkommapaket entworfen. War ziemlich kompakt (inkl 2<>10-Wandlung ~1KiB), schnell und, höchst erstaunlich, fehlerfrei. Bis auf zwei Fehler, die beim hastigen Einhacken passierten. Das klappt wohl auch nur, wenn man noch gewohnt ist, die einzelnen Bits mit Handschlag zu begrüßen 😉

    Hi Nils, das ‘i’ inmitten der Abk für die Mengen habe ich sofort als sinnvoll anerkannt und übernommen, doch die Langform, so sinnvoll sie auch sein mag (siehe das ständige Gezeter um HD-Kapazitäten), sie will mir nicht über die Tasten. come on, schon bei Kibi fallen mir nur diese kleinen haarigen grünen Teile ein…

  12. #12 rolak
    Juni 6, 2011

    *grins* da fällt mir etwas verspätet auf, daß der offensichtlich schlecht gewebte Teddy nicht nur nicht lesen, sondern auch nicht bis 4 zählen kann 🙂

    Aus dieser Anregung heraus gleich noch eine Schote zum Thema Binärsystem, bisher nur höchst indirekt angedeutet: Anfängervorlesung, ‘Grundlagen der Informatik’, Zweiersystem. In aller, fast quälender Langsamkeit wird die Reihe ‘Eine Ziffer-Zwei Zustände’, ‘Zwei Ziffern-… mit Tabellen etc durchdemonstriert bis hin zu 4 Ziffern. Dann kam der der nächste Unterpunkt – bis sich ein Arm in die Höhe reckte, ein verschärftes Räuspern erschallte und nach Sicherung des Profs Aufmerksamkeit ertönte “Herr Leeb¹, also ich seh da nur 15 Zustände”. Der Angesprochene geht zurück zur Tafel, wischt sich (seiner Marotte folgend exakt soviel wie benötigt) Platz frei und malt&erklärt es noch einmal. Kritischer Blick ins Publikum, an bewußter Position ist nur leichtes Schwitzen wahrzunehmen, also weiter im Program. So ca 10 Minütchen später reckt sich derselbe Arm, dieselbe Frage. Daraufhin holt der Prof sehr ruhig, sehr tief und sehr vernehmlich Luft, geht Richtung Publikum bis zur Brüstung, stützt sich auf, geht noch ein wenig in sich — und fixiert dann den 15er und fragt: “Ich weiß, daß es an den Schulen das Kurswahlsystem gibt und daß dies viele Vorteile hat – aber wann haben Sie eigentlich Mathematik abgewählt? Im Kindergarten?”

    ¹ Meister Leeb hatte übrigens eine Art, ‘Logik und Berechenbarkeit’ zu zelebrieren, da hätte man Eintritt verlangen können. Beim unvorbereiteten Ersthören konnte das allerdings auch traumatisch sein.

  13. #13 mi fhèin
    Juni 15, 2011
  14. #14 Marcus Frenkel
    Juni 15, 2011

    Meine Güte – das T-Shirt brauche ich! 😉

  15. #15 Dr. Webbaer
    Juni 15, 2011

    @rolak
    Der Mensch (vs. Bär) könnte mit seinen Fingern problemos bis 2^10 zählen, korrekt, aber anscheinend hat die Richtungsangabe die Binärlogik evolutionär erfolgreich überlagert.
    Aber: Guter Gedankengang! – Ein einarmiger einfingeriger Affe könnte problemlos bis 2 zählen.