Binär-Rechner
Ergebnis
Binär
- Dezimal
- 17
- Hexadezimal
- 11
- Rest
- 0
Dieser Rechner addiert, subtrahiert, multipliziert und dividiert Binärzahlen und gibt das Ergebnis in drei Zahlensystemen aus: wieder als Binärzahl, als Dezimalzahl und als Hexadezimalzahl. Die Eingabe besteht aus Nullen und Einsen, und gerechnet wird nach denselben Regeln wie im Dezimalsystem — mit einem Unterschied, der alles Weitere erklärt: Es gibt nur zwei Ziffern, also ist nach der 1 schon Schluss, und ein Übertrag entsteht bereits bei 1 + 1. Deshalb ergibt 1 + 1 nicht 2, sondern 10, und das ist kein anderes Ergebnis, sondern dieselbe Zwei in einer Schreibweise, die keine Ziffer für sie hat. Aus dieser einen Regel folgen alle vier Rechenarten, und wer sie einmal verstanden hat, rechnet im Dualsystem wie im gewohnten System, nur mit einer kürzeren Zifferntafel. Der Übertrag wandert dabei weiter als gewohnt: 1011 + 110 ergibt 10001, weil die Summe der beiden niedrigsten Stellen eine neue Stelle links erzeugt. Die Subtraktion läuft genauso über das Entleihen, nur dass eine geliehene Eins hier zwei wert ist und nicht zehn, und ein negatives Ergebnis wird mit einem Minuszeichen vor der Ziffernfolge ausgegeben: 110 − 1011 ergibt -101. Die Multiplikation ist das Einfachste von allem, denn das kleine Einmaleins besteht nur aus den Fällen 0 × 0, 0 × 1 und 1 × 1 — es gibt nichts auswendig zu lernen, und das Teilprodukt einer Stelle ist entweder der volle Wert oder null. Die Division schließlich geht nicht immer auf, und dafür hat die Antwort eine eigene Zeile: Der Rest wird als Binärzahl ausgegeben, etwa bei 1011 ÷ 10, wo 101 mit Rest 1 herauskommt. Diese Zeile steht bei jeder Rechenart, und bei Addition und Multiplikation trägt sie immer eine 0 — sie wegzulassen wäre bequemer und würde bei der Division genau die Information verschlucken, die man braucht. Bemerkenswert ist die Ausgabe der Dezimalzeile: Sie wird als gewöhnliche Zahl mit Tausenderpunkten gedruckt, also 9.007.199.254.740.991 für den größten zulässigen Wert, während die Binär- und die Hexadezimalzeile Ziffernfolgen ohne jede Gruppierung sind. Das ist Absicht, denn eine Binärzahl mit Gruppierung wäre keine Binärzahl mehr, die man zurück in das Eingabefeld kopieren kann. Die Länge der Eingabe ist auf 53 Bit und damit auf 9007199254740991 begrenzt; das ist die Breite, bis zu der eine Gleitkommazahl benachbarte ganze Zahlen noch unterscheiden kann, und darüber wird die Eingabe abgelehnt statt stillschweigend falsch gerechnet.
Formel
1011 + 110 = 10001; 1011 ÷ 10 = 101 Rest 1; 110 − 1011 = -101; 1 + 1 = 10
- 1011
- Die erste der beiden Binärzahlen, geschrieben mit den Ziffern 0 und 1. Führende Nullen sind erlaubt und ändern den Wert nicht, und die Länge ist auf dreiundfünfzig Bit begrenzt
- + − × ÷
- Die vier Rechenarten. Sie werden hier nicht anders ausgeführt als im Dezimalsystem, sondern mit einer Zifferntafel, die nur zwei Ziffern kennt; jede Regel, die daraus folgt, folgt aus dieser einen Tatsache
- 1 + 1 = 10
- Die Regel, aus der alles andere folgt. Das Dualsystem hat keine Ziffer für die Zwei, also wird sie als Eins an der nächsten Stelle geschrieben und der Übertrag entsteht schon beim ersten möglichen Fall. Aus derselben Regel folgt, dass das kleine Einmaleins nur drei Fälle hat, weil 1 × 0, 0 × 1 und 1 × 1 bereits alles sind
- sum of digit × 2ⁿ
- Wie aus der Ziffernfolge ein Wert wird. Jede Stelle steht für eine Zweierpotenz, gezählt vom rechten Ende: 1, 2, 4, 8, 16 und so weiter, jede das Doppelte der vorigen. 1011 ist deshalb 8 + 2 + 1 = 11, und die Stelle mit der 0 trägt nichts bei
- remainder
- Der Rest der Division, als Binärzahl ausgegeben. Die Zeile steht bei jeder Rechenart und ist bei Addition und Multiplikation immer 0; sie wegzulassen wäre bequemer und würde bei der Division die eigentliche Information verschlucken, denn 1011 ÷ 10 geht nicht auf
- 53 bits
- Die größte Eingabelänge: dreiundfünfzig Binärstellen, was dem Wert 9007199254740991 entspricht. Es ist die Breite, bis zu der eine Maschine benachbarte ganze Zahlen noch auseinanderhalten kann; eine längere Eingabe ließe sich nicht mehr genau lesen und wird deshalb abgelehnt statt geraten
Das Dualsystem ist die Schreibweise, in der Rechenmaschinen rechnen, und deshalb begegnet sie einem überall dort, wo man wissen will, was ein Rechner eigentlich tut. Wer verstehen will, warum ein Überlauf bei einer festen Wortbreite entsteht, kommt um die Regel 1 + 1 = 10 nicht herum: Ein Bit kann nur zwei Zustände tragen, und eine Summe, die einen dritten bräuchte, muss in die nächste Stelle wandern. Dieselbe Regel erklärt, warum das Addieren zweier Binärzahlen länger dauern kann als das Addieren zweier Dezimalzahlen, denn der Übertrag kann eine ganze Kette von Stellen durchlaufen, und sie erklärt, warum die Multiplikation im Dualsystem so billig ist: Es gibt kein Einmaleins, jedes Teilprodukt ist entweder der volle Wert oder null. Praktisch braucht man die Rechnung außerdem in der Netzwerktechnik, wo Adressen und Masken binär verknüpft werden, und bei der Arbeit mit Bitfeldern aller Art, also überall dort, wo einzelne Bits Bedeutungen tragen und nicht Mengen darstellen. Diese Seite ist auch die richtige, wenn ein Ergebnis in allen drei Systemen gebraucht wird: Der Binärwert ist die eigentliche Antwort, die Hexadezimalzeile ist die kurze Fassung für die Eingabe, und die Dezimalzeile ist die Größe, mit der man im Alltag rechnet. Wer dagegen nur umrechnen und nicht rechnen will, ist beim Umrechner für Binärzahlen richtig; wer mit den Ziffern einer einzelnen Zahl arbeiten will, statt mit zweien zu rechnen, beim Stellenwert-Rechner.
Rechenbeispiele
1011 und 110 addieren
- Die beiden Zahlen rechtsbündig untereinanderschreiben: 1011 über 110
- Rechte Stelle: 1 + 0 = 1
- Nächste Stelle: 1 + 1 = 10, also 0 hinschreiben und 1 übertragen
- Nächste Stelle: 0 + 1, dazu der Übertrag 1, ergibt 10 — wieder 0 und Übertrag 1
- Letzte Stelle: 1, dazu der Übertrag 1, ergibt 10, also 0 hinschreiben und eine neue Stelle 1 davor
- Ergebnis: 10001, dezimal 17, hexadezimal 11
Der Standardfall, und der Übertrag ist hier der Punkt: Er läuft von der zweiten Stelle bis über das linke Ende hinaus durch und erzeugt eine Stelle, die in keiner der beiden Eingaben stand. Wer Binärzahlen addiert und den letzten Übertrag vergisst, verliert die halbe Antwort. Die Probe steht in der Dezimalzeile: 11 plus 6 ist 17, und 10001 ist die 17 im Dualsystem.
1011 durch 10 teilen
- 1011 ist dezimal 11, und 10 ist dezimal 2
- 11 ÷ 2 ergibt 5 mit Rest 1
- Die 5 ist im Dualsystem 101
- Der Rest 1 wird in einer eigenen Zeile als Binärzahl ausgegeben
- Ergebnis: 101 mit Rest 1, dezimal 5, hexadezimal 5
Der einzige Fall, in dem die Restzeile etwas anderes als eine Null trägt, und damit der Beleg, warum sie überhaupt dasteht. Der Rest ist hier 1 und nicht 0,5: Diese Seite rechnet ganzzahlig, sie teilt also mit Rest und schneidet nicht ab — die Nachkommastellen kommen gar nicht erst zustande. Wer die Teilung umkehren will, rechnet 101 × 10 + 1 und kommt wieder auf 1011.
1011 von 110 subtrahieren
- 110 ist dezimal 6 und 1011 ist dezimal 11
- 6 − 11 ergibt −5, das Ergebnis ist also negativ
- Die Rechnung wird auf den Beträgen ausgeführt: 1011 − 110 = 101
- Das Minuszeichen wird vor die Ziffernfolge gesetzt: -101
- Ergebnis: -101, dezimal −5, hexadezimal -5
Das Vorzeichen steht hier vor der Ziffernfolge und nicht in ihr, weil es keine feste Wortbreite gibt, in der man es unterbringen könnte. Ein Prozessor, der −5 in acht Bit ablegt, schreibt 11111011 — eine völlig andere Ziffernfolge, die nur dann Sinn ergibt, wenn man weiß, dass die Breite acht beträgt. Diese Seite hat keine Breite und lässt das Minus deshalb ein Minus sein. Auch hier trägt die Restzeile eine Null, denn die Subtraktion erzeugt keinen Rest.
Einschränkungen
Die Eingabe ist auf dreiundfünfzig Binärstellen begrenzt, also auf den Wert 9007199254740991. Das ist die Grenze, bis zu der eine 64-Bit-Gleitkommazahl benachbarte ganze Zahlen noch unterscheiden kann; darüber wird die Eingabe abgelehnt und nicht gerundet. Das Ergebnis darf dieselbe Grenze nicht überschreiten, und eine Addition wie die größte zulässige Zahl plus eins wird deshalb abgewiesen statt stillschweigend zu überlaufen. Es gibt keinen Überlauf und keine Zweierkomplementdarstellung: Negative Zahlen werden mit einem Minuszeichen vor der Ziffernfolge geschrieben, nicht in einer Kodierung wie dem Zweierkomplement, und wer eine Bitmaske für eine feste Wortbreite braucht, muss sie selbst bilden. Die Division ist ganzzahlig und liefert einen Rest statt eines Bruchs; Nachkommastellen gibt es nicht, und 1011 ÷ 10 ergibt deshalb 101 mit Rest 1 und nicht 101.1. Ausgeschriebene Trennzeichen werden nicht angenommen, und führende Nullen sind erlaubt, aber ohne Wirkung. Schließlich prüft diese Seite nicht, ob eine Eingabe wie 102 als Binärzahl gemeint war: Die 2 ist keine gültige Ziffer im Dualsystem, das Feld nimmt sie nicht an, und die Antwort ist kein Fehler des Rechners, sondern die einzige mögliche Antwort auf eine Ziffer, die es in diesem System nicht gibt.
Häufige Fragen
- Warum ergibt 1 + 1 hier 10 und nicht 2?
- Weil das Dualsystem nur die beiden Ziffern 0 und 1 kennt und es für die Zwei keine Ziffer gibt. Sie wird deshalb als 1 an der nächsten Stelle geschrieben, und das ist dieselbe Zwei, nur in einer Schreibweise, die sie ausdrücken kann. Aus dieser einen Regel folgt der ganze Rest der Binärarithmetik, einschließlich der Tatsache, dass ein Übertrag schon beim ersten möglichen Fall entsteht.
- Warum steht bei jeder Rechenart eine Restzeile?
- Weil eine Rechenart tatsächlich einen Rest erzeugen kann und die Zeile deshalb nicht weggelassen werden darf. Bei der Division ist der Rest die eigentliche Zusatzinformation: 1011 ÷ 10 ergibt 101 mit Rest 1. Bei Addition, Subtraktion und Multiplikation trägt die Zeile immer eine 0, und das ist keine leere Zeile, sondern die Aussage, dass hier nichts übrig geblieben ist.
- Was ist die größte Zahl, die ich eingeben kann?
- Dreiundfünfzig Binärstellen, also 11111111111111111111111111111111111111111111111111111, was dezimal 9007199254740991 entspricht. Die Grenze kommt daher, dass eine 64-Bit-Gleitkommazahl oberhalb dieser Breite benachbarte ganze Zahlen nicht mehr unterscheiden kann. Auch das Ergebnis darf diese Grenze nicht überschreiten, eine Addition über die Grenze hinaus wird also abgelehnt.
- Kann ich subtrahieren und ein negatives Ergebnis bekommen?
- Ja. Ist die zweite Zahl größer als die erste, wird auf den Beträgen gerechnet und das Minuszeichen vor die Ziffernfolge gesetzt: 110 − 1011 ergibt -101. Es gibt hier keine feste Wortbreite und deshalb auch keine Zweierkomplementdarstellung; ein Prozessor würde dieselbe Zahl als Bitmuster ablegen, aber nur, weil er weiß, wie viele Bits er benutzt.
- Warum geht die Division nicht auf?
- Weil diese Seite ganzzahlig rechnet. Ein Bruch ließe sich im Dualsystem zwar darstellen, aber dann wäre die Antwort keine Binärzahl mehr, die man zurück in die Eingabe kopieren kann, sondern eine mit einem Dezimalpunkt. Stattdessen wird wie beim schriftlichen Teilen mit Rest gerechnet, und der Rest steht in einer eigenen Zeile.
- Wofür ist die Hexadezimalzeile gut?
- Weil vier Binärstellen genau einer Hexadezimalziffer entsprechen und die hexadezimale Fassung deshalb die kurze Form derselben Zahl ist. 10001 ist binär fünf Zeichen lang, hexadezimal nur zwei, nämlich 11. Wer Bitmuster liest, arbeitet aus diesem Grund mit Hexadezimalzahlen und nicht mit der Binärform, und die Zeile erspart die Umrechnung.
Quellen
- Binary number — the base-two system, positional notation, the carry rule and the arithmetic operations — Wolfram MathWorld (United States)
- Number base — why a numeral's value depends on its position and on the base, and how the same quantity is written in different bases — Wolfram MathWorld (United States)
- IEEE 754 — the double-precision format these calculations are carried out in, and the 53-bit significand that fixes this page's input ceiling — IEEE Standards Association (United States)
- Dualsystem — die deutsche Fachbezeichnung für das Zweiersystem, mit der Herkunft des Wortes und seiner Verwendung in der Datenverarbeitung — DWDS – Digitales Wörterbuch der deutschen Sprache
- Bildungsstandards in Deutschland — Kultusministerkonferenz — die verbindlichen Vorgaben für das Fach Mathematik, in denen das Rechnen in anderen Zahlensystemen zum Stoff der Sekundarstufe gehört — Sekretariat der Ständigen Konferenz der Kultusminister der Länder in der Bundesrepublik Deutschland