Zahlen, Bitoperationen und Einheiten

Zweierkomplement-RechnerEin Bitmuster, zwei Werte

Legen Sie fest, ob Sie einen Zahlenwert codieren oder ein vorhandenes Bitmuster lesen.

Zweierkomplement-Rechner

Eingabe

Eine Ganzzahl, höchstens 256 Zeichen. 0b/0o/0x müssen zur Basis passen. Keine inneren Leerzeichen, Trennzeichen, Zeilenumbrüche oder Brüche.

Die Eingabe wird in diesem Browser verarbeitet und nicht an einen Server gesendet.

Ergebnis

Dezimalergebnis
-42
Eingabe als Dezimalzahl
-42
Dezimal mit Vorzeichen
-42
Dezimal ohne Vorzeichen
214
Binär
11010110
Hexadezimal
0xD6
Höchstes Bit
1
Zulässiger Eingabebereich
-128 … 127
Bereich mit Vorzeichen
-128 … 127
Bereich ohne Vorzeichen
0 … 255
Big-Endian-Bytes
D6
Little-Endian-Bytes
D6

Negativen Wert codieren

1. Betrag als Binärzahl
00101010
2. Alle Bits invertieren
11010101
3. Eins addieren
11010110

Optionen

Wert codiert eine mathematische Ganzzahl. Bitmuster liest ein nichtnegatives Muster, ergänzt links Nullen und erlaubt kein Minuszeichen.

Optionen interpretieren den vorhandenen Text neu. Beide Bytefolgen verwenden das fertige Wort; die Bitreihenfolge innerhalb jedes Bytes bleibt erhalten.

Die Eingabe liegt im gewählten Bereich.

Der Zweierkomplement-Rechner hilft beim Abgleich von Registerwerten mit einem Debugger. Steht im Speicher FF und im Programm −1, muss kein Fehler vorliegen: Entscheidend sind die Bitbreite und die Interpretation des Vorzeichens.

Ein Wert von 255 passt nicht in einen vorzeichenbehafteten 8-Bit-Typ. Das gespeicherte Muster FF passt dagegen sehr wohl in acht Bits. Getrennte Eingabemodi machen diesen Unterschied sichtbar, bevor Sie einen Wertebereich oder eine Bytefolge übernehmen.

Warum dieser Zweierkomplement-Rechner?

Den ursprünglichen Wert behalten

Der Zweierkomplement-Rechner lässt 300 im Eingabefeld stehen, während die Vorschau für acht Bits den Rest 44 zeigt. Ein Überlauf ist dabei kein Syntaxfehler: Sie können das verbleibende Muster untersuchen und beide Dezimalwerte vergleichen. Die Vorschau ersetzt weder automatisch noch über eine separate Aktion Ihre Eingabe.

Eine längere Bitreihe bleibt erhalten; ihre acht unteren Stellen werden in ein kürzeres Wort übertragen und die oberen Stellen separat hervorgehoben.

Bytefolge statt Bitfolge umkehren

Das Wort 0x12345678 ergibt mit 32 Bit die Big-Endian-Folge 12 34 56 78 und die Little-Endian-Folge 78 56 34 12. Jede Zweiergruppe bleibt zusammen. Vorzeichen und Zahlenwert ändern sich nicht; nur die Reihenfolge der vollständigen Bytes unterscheidet sich.

Zwei verschiedenfarbige Byteblöcke tauschen zwischen zwei Reihen ihre Plätze, während die Markierungen innerhalb der Blöcke ihre Reihenfolge behalten.

Erst die Bedeutung, dann die Breite

01

Einen Zahlenwert oder gespeicherte Bits wählen

Voreingestellt sind −42, Dezimalbasis, acht Bits, Vorzeichen und automatische Berechnung. Für ein vorhandenes FF wählen Sie Bitmuster und Hexadezimal. Ein Basiswechsel liest denselben Text anders; er schreibt die Eingabe nicht in die neue Basis um.

02

Verbreitern nicht mit Vorzeichenerweiterung verwechseln

Das Muster FF wird mit 16 Bit zu 00FF und damit zu 255. Es wird nicht anhand seiner Textlänge als negative Zahl erweitert. Soll der mathematische Wert −1 beim Verbreitern erhalten bleiben, geben Sie −1 im Wertmodus ein; daraus wird FFFF.

03

Nur aktuelle Ergebnisse exportieren

Die Automatik wartet 350 ms nach der letzten Änderung. Ausgeschaltet erscheinen Berechnen und die Tastenkombination Strg/Cmd + Enter. Änderungen sperren sofort die Exporte. Beispiel und Leeren zeigen zuerst die Zahl der geänderten Felder; nach dem Anwenden lässt sich der vorherige Zustand einmal wiederherstellen.

Zahl, Wort und Bytefolge gemeinsam prüfen

Beide Vorzeichen-Deutungen sehen

Vorzeichenbehaftete Ganzzahlen nutzen bei w Bits den Bereich −2^(w−1) bis 2^(w−1)−1. Ohne Vorzeichen reicht er von 0 bis 2^w−1. Das gleiche Byte FF bedeutet deshalb −1 oder 255. Die Auswahl steuert den Hauptwert, während beide Bereiche und beide Lesarten sichtbar bleiben.

Zweierkomplement berechnen und nachvollziehen

Bei −42 mit acht Bits lautet der Betrag 00101010, nach dem Invertieren 11010101 und nach Addition von eins 11010110. Diese Zwischenschritte erscheinen für negative Wert-Eingaben innerhalb des vorzeichenbehafteten Bereichs. Die Invertierung ist keine zusätzliche Auswahl eines Einerkomplement-Formats.

64-Bit-Ganzzahlen exakt bewahren

Auch 18446744073709551615 wird als Ganzzahl verarbeitet, ohne einen Umweg über Gleitkommazahlen. Binär- und Hexdarstellung erhalten die nötigen führenden Nullen. Der Bericht enthält außerdem Originaltext, Modus, Basis, Breite, Bereichsstatus und beide Bytefolgen, damit seine Ergebnisse außerhalb der Seite nachvollziehbar bleiben.

Grenzen der Darstellung

Überlauf als Modulo-Vorschau
Außerhalb des gewählten Wertebereichs zeigt das Werkzeug die unteren w Bits über den nichtnegativen Rest modulo 2^w. Mit acht Bits und Vorzeichen wird 128 in der Vorschau zu −128, 256 zu null. Der ursprüngliche mathematische Wert wird dadurch nicht exakt darstellbar; der Warnhinweis bleibt im Bericht enthalten.
Bitmuster nach ihrem Betrag beurteilen
Ein Bitmuster muss nichtnegativ sein; selbst das Minuszeichen in −0 wird abgelehnt. Kurze Muster erhalten links Nullen. Zusätzliche führende Nullen verursachen keine Überschreitung. Entscheidend ist, ob der Betrag über 2^w−1 liegt, nicht ob das höchste Bit gesetzt ist oder der Text viele Stellen enthält.
Eingabesyntax bewusst begrenzen
Erlaubt sind die Basen 2, 8, 10 und 16 mit passenden optionalen Präfixen und höchstens 256 Zeichen. Nur äußere ASCII-Leerzeichen und Tabulatoren werden entfernt. Innere Trennzeichen, Zeilenumbrüche, Brüche, dezimale Exponentialschreibweise und Rechenausdrücke werden als Fehler gemeldet. Es gibt keinen Datei-, URL- oder Stapelimport.
Nur ein vorzeichenbehaftetes Format
Es stehen 8, 16, 32 und 64 Bit zur Verfügung. Vorzeichen-Betrag, Einerkomplement, negatives null und Gleitkommazahlen werden nicht als eigenständige Formate unterstützt. Die Invertierung im Rechenweg erklärt die Codierung negativer Zahlen, ersetzt aber keinen Decoder für historische Integerdarstellungen.
Keine Laufzeit oder CPU nachbilden
Die Modulo-Regel sagt nichts über Ausnahmen, Prozessorflags, Sättigung oder undefiniertes Verhalten in einer Programmiersprache aus. Beide Endian-Ansichten ordnen lediglich vollständige Bytes des Ergebnisworts an; bei acht Bits sind sie identisch. Bitoperationen, Verschiebungen und Rechnungen mit zwei Operanden gehören nicht zu diesem Werkzeug.

Fragen zum Zweierkomplement-Rechner

Wie berechne ich das Zweierkomplement selbst?

Wählen Sie zuerst die Breite. Schreiben Sie den Betrag binär mit entsprechend vielen Stellen, invertieren Sie alle Bits und addieren Sie eins. Bei −5 mit acht Bits führt 00000101 über 11111010 zu 11111011. Prüfen Sie vorab, ob die negative Ausgangszahl überhaupt in den gewählten Bereich passt.

Welchen Nachteil hat die Darstellung mit Vorzeichen?

Bei gleicher Bitbreite ist der größte positive Wert kleiner. Ein Byte ohne Vorzeichen reicht bis 255, mit Vorzeichen nur bis 127. Dafür lassen sich negative Zahlen bis −128 darstellen. Die gespeicherten 256 Muster bleiben dieselben; nur ihre Zuordnung zu Zahlenwerten ändert sich.

Wie sieht −37 mit acht Bits aus?

Der Betrag 37 ist 00100101. Nach dem Invertieren entsteht 11011010, nach Addition von eins 11011011, also DB in Hexadezimal. Im Wertmodus liefert −37 genau dieses Muster. Ohne Vorzeichen gelesen entspricht es 219; das ist keine Veränderung der Bits.

Warum reicht der negative Bereich um einen Wert weiter?

Die Hälfte der Muster mit höchstem Bit null enthält auch die Zahl null. Daher bleiben bei acht Bits nur 127 positive Werte, aber 128 negative Werte. Das Muster 10000000 steht für −128 und besitzt kein positives Gegenstück gleicher Größe innerhalb des vorzeichenbehafteten Bereichs.

Sind Umwandlungen mit 64 Bit exakt?

Ja. Die unterstützte Ganzzahlsyntax wird ohne Gleitkomma-Zwischenschritt gelesen. Sowohl −9223372036854775808 als auch 18446744073709551615 bleiben exakt. Eine zu große Eingabe erhält weiterhin eine Bereichswarnung und eine Kürzungsvorschau; die Ausgabe wird dadurch nicht zu einem beliebig breiten Integer.

Ist das Ergebnis unerwartet?

Einen weiteren Grenzwert untersuchen

Nutzen Sie den Zweierkomplement-Rechner, um einen Grenzwert zu untersuchen und anschließend Modus oder Breite zu ändern. Kopieren Sie den aktuellen Bericht mit Originaleingabe und Bereichsstatus für den Vergleich mit Protokoll oder Debugger.