Zahlensystem-Umrechner

So funktioniert der Zahlensystem-Umrechner

Du gibst eine Zahl ein, wählst aus, in welchem System sie geschrieben ist, und bekommst sie in jedem anderen zurück – binär, oktal, dezimal, hexadezimal oder in einer beliebigen Basis von 2 bis 36. Der Rechner zeigt dabei nicht nur das Ergebnis, sondern den kompletten Rechenweg: erst die Stellenwertzerlegung, mit der aus der Quellzahl ein Dezimalwert wird, dann das Divisionsrest-Verfahren, mit dem daraus die Zielzahl entsteht. Genau die beiden Verfahren, die in Klassenarbeiten und Klausuren verlangt werden.

Drei Dinge kann dieser Rechner, die die meisten Umrechner im Netz nicht können. Er rechnet beliebig große Ganzzahlen exakt um, weil die Umrechnung ziffernweise auf einem Zahlenfeld läuft und nicht über Gleitkommazahlen – eine dreißigstellige Dezimalzahl kommt korrekt als Hexadezimalzahl zurück, während Rechner mit Fließkomma-Arithmetik ab etwa sechzehn Stellen still falsche Ergebnisse liefern. Er beherrscht Nachkommastellen in jeder Basis und sagt dir, ob der Bruch im Zielsystem abbricht oder endlos weiterläuft. Und er erklärt ungültige Eingaben, statt einfach nichts anzuzeigen: Wer eine 2 ins Binärfeld tippt, erfährt, warum es diese Ziffer dort nicht gibt.

Das Prinzip: Stellenwert und Basis

Wert = zn·bn + … + z2·b2 + z1·b1 + z0·b0 + z−1·b−1 + …
b = Basis, z = Ziffer an der jeweiligen Stelle

Jedes Stellenwertsystem zur Basis b kennt genau b Ziffern, von 0 bis b−1. Die Position einer Ziffer bestimmt ihren Wert: ganz rechts steht b0 = 1, links davon b1, dann b2 und so weiter. Im Dezimalsystem ist das so selbstverständlich, dass man es nicht mehr bemerkt – 507 heißt 5·100 + 0·10 + 7·1. Im Binärsystem funktioniert es identisch, nur mit Zweierpotenzen: 1010 heißt 1·8 + 0·4 + 1·2 + 0·1 = 10.

Die vier wichtigsten Systeme im Vergleich

DezimalBinär (2)Oktal (8)Hexadezimal (16)
0000
510155
10101012A
15111117F
161 00002010
64100 000010040
2551111 1111377FF
5001 1111 01007641F4
1295101 0000 1111241750F
Alle Werte aus Durchläufen des Rechners auf dieser Seite.

Warum ausgerechnet 2, 8 und 16?

Das Binärsystem ist keine Marotte der Informatik, sondern die einfachste Art, Zahlen physikalisch zu speichern: Ein Transistor leitet oder leitet nicht, ein Magnetpunkt zeigt in die eine oder die andere Richtung. Zwei Zustände sind robust unterscheidbar, zehn wären es nicht. Der Preis dafür ist die Länge – 255 braucht binär acht Stellen statt drei.

Hexadezimal ist die Abkürzung, mit der Menschen Binärzahlen lesbar machen. Weil 16 = 24 ist, entspricht jede Hex-Ziffer exakt vier Binärstellen, einem sogenannten Nibble. Aus 1111 1111 wird FF, aus 0100 0010 wird 42 – die Umrechnung geht Gruppe für Gruppe, ganz ohne Rechnung. Genau deshalb sind Farbcodes im Web (#4285F4), Speicheradressen und MAC-Adressen hexadezimal notiert. Oktal spielt dieselbe Rolle für Dreiergruppen (8 = 23) und hat sich vor allem bei Unix-Dateirechten gehalten: chmod 755 heißt binär 111 101 101.

Nachkommastellen: warum 0,1 im Computer nicht existiert

Ein Bruch bricht in einem Zahlensystem genau dann ab, wenn sein Nenner nur Primfaktoren enthält, die auch in der Basis stecken. Im Dezimalsystem (Basis 10 = 2·5) lassen sich Halbe, Viertel und Fünftel sauber schreiben, ein Drittel nicht. Im Binärsystem (Basis 2) geht nur, was auf Zweierpotenzen beruht: 0,5 wird zu 0,1 und 0,25 zu 0,01, aber 0,1 dezimal wird zu 0,0001100110011… – periodisch und unendlich.

Das ist der Grund für den berühmtesten Stolperstein der Programmierung: 0,1 + 0,2 ergibt am Computer 0,30000000000000004. Nicht weil der Rechner sich verrechnet, sondern weil er beide Summanden schon beim Speichern runden muss. Finanzsoftware umgeht das, indem sie intern in ganzen Cents rechnet. Tippe im Rechner oben „0,1″ mit Quelle Dezimal und Ziel Binär ein, und du siehst die Periode direkt.

Negative Zahlen und das Zweierkomplement

Ein Speicherplatz kennt kein Minuszeichen, nur Nullen und Einsen. Deshalb reserviert man bei vorzeichenbehafteten Zahlen das oberste Bit für das Vorzeichen und speichert negative Werte als Zweierkomplement: Man bildet 2Bitbreite − Betrag. Aus −42 wird bei 8 Bit also 256 − 42 = 214, binär 11010110. Der Vorteil dieser Darstellung ist, dass Addition und Subtraktion mit derselben Schaltung funktionieren – die Prozessoren brauchen keine Sonderbehandlung für Minuszahlen. Der Rechner zeigt dir das Zweierkomplement automatisch an, sobald du eine negative Zahl eingibst.

Häufige Fragen

Wie rechne ich Binär in Dezimal von Hand um?

Schreibe über jede Stelle ihre Zweierpotenz, von rechts beginnend mit 1, 2, 4, 8, 16 und so weiter. Dann addierst du alle Potenzen, über denen eine 1 steht. Beispiel 1010: über den Einsen stehen 8 und 2, also 8 + 2 = 10. Schneller geht es mit dem Horner-Schema: von links nach rechts jede Ziffer zum bisherigen Ergebnis addieren und das Zwischenergebnis vor der nächsten Ziffer verdoppeln – 1, dann 2+0=2, dann 4+1=5, dann 10+0=10.

Und in die andere Richtung, Dezimal in Binär?

Teile fortlaufend durch 2 und notiere jeden Rest. Die Reste von unten nach oben gelesen ergeben die Binärzahl. Für 10: 10÷2 = 5 Rest 0, 5÷2 = 2 Rest 1, 2÷2 = 1 Rest 0, 1÷2 = 0 Rest 1 – von unten gelesen 1010. Dasselbe Verfahren funktioniert für jede Zielbasis, du teilst dann eben durch 8, 16 oder 36. Der Rechner zeigt diese Divisionskette komplett an.

Wofür braucht man Basis 36?

Basis 36 nutzt alle zehn Ziffern und alle 26 Buchstaben und ist damit die kompakteste Darstellung, die mit reinem ASCII ohne Sonderzeichen auskommt. Verwendet wird sie für Kurz-URLs, Rechnungs- und Bestellnummern und überall dort, wo eine lange Zahl in wenige Zeichen passen soll. Die Zahl 1295 ist dezimal vierstellig und zur Basis 36 nur noch „ZZ“.

Wie viele Bits brauche ich für eine bestimmte Zahl?

Für eine positive Ganzzahl n sind es abgerundet log₂(n) + 1 Bits. Praktisch merkt man sich die Grenzen: 8 Bit reichen bis 255, 16 Bit bis 65.535, 32 Bit bis 4.294.967.295 und 64 Bit bis rund 18,4 Trillionen. Jedes zusätzliche Bit verdoppelt den Bereich. Der Rechner gibt die Bitbreite und die passende Byte-Größe direkt mit aus.

Warum steht 0x oder 0b vor manchen Zahlen?

Das sind Präfixe aus Programmiersprachen, die angeben, in welchem System die folgende Zahl geschrieben ist: 0x für hexadezimal, 0b für binär, in C und Java eine führende 0 für oktal. Ohne diese Kennzeichnung wäre „10″ mehrdeutig. Der Rechner erkennt 0x und 0b und ignoriert sie, du kannst sie also mit einkopieren.

Quellen

Mehr aus dieser Kategorie: Mathe-Rechner: Prozent, Bruch & Geometrie

Auch beliebt: Promillerechner · Schlafrechner · Hundejahre-Rechner

Entdecke mehr Rechner auf einen Blick auf rechnido – kostenlos und ohne Anmeldung.