ForHosting KIT · Mathematik

Zweierkomplement

In 8 Bit wird −5 zu 11111011 und +5 zu 00000101. Geben Sie eine ganze Zahl mit Vorzeichen und eine Wortbreite von 2 bis 64 Bit ein und erhalten Sie ihr exaktes Zweierkomplement; was nicht passt, wird abgelehnt statt umgebrochen. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Wert
-5
Bits
8
Erhalten Sie
Binär
11111011
Vorzeichenlos
251
Min
-128
Max
127

Das Zweierkomplement ist die Darstellung, die moderne Prozessoren für vorzeichenbehaftete Ganzzahlen nutzen: eine Bitkette fester Breite, deren höchstes Bit das Vorzeichen ist und deren restliche Bits eine modulare Kodierung des Werts vollenden. Dieser Zweierkomplement-Rechner nimmt eine vorzeichenbehaftete Ganzzahl und eine Bitbreite entgegen und liefert das genaue Binärwort für diese Breite. Nichtnegative Werte werden zu den gewöhnlichen Betragsbits, links mit Nullen aufgefüllt. Negative Werte werden zum Rest der Ganzzahl modulo zwei hoch der Breite — die vertraute Konstruktion „invertieren und eins addieren“, die jeder Kurs zur Rechnerorganisation lehrt.

Was Zweierkomplement bedeutet und wie die Bits entstehen

Das Zweierkomplement ist die Darstellung, die nahezu jede CPU für vorzeichenbehaftete Ganzzahlen nutzt. Für ein Wort der Breite w Bit ist der darstellbare Bereich das abgeschlossene Intervall von minus zwei hoch w minus eins bis zwei hoch w minus eins, minus eins. Das höchstwertige Bit ist das Vorzeichenbit: Null bedeutet einen nichtnegativen Wert, gespeichert als gewöhnliches vorzeichenloses Binär der Betragsgröße, links mit Nullen auf genau w Zeichen aufgefüllt.

Eine Eins im Vorzeichenbit bedeutet einen negativen Wert. Eine negative Ganzzahl n zu kodieren ist dasselbe wie den mathematischen Rest von n modulo zwei hoch w zu nehmen: jedes Bit des positiven Betrags invertieren, eins addieren und genau w Bits behalten. Diese modulare Sicht erklärt, warum das Subtrahieren von eins von null eine Kette aus Einsen ergibt, die als minus eins dekodiert wird, und warum der negativste Wert in w Bits eine Eins gefolgt von w minus eins Nullen ist.

Dieser Rechner setzt jene Identität mit modularer BigInt-Arithmetik um, sodass jedes Bit für Breiten von zwei bis vierundsechzig exakt ist. Er umwickelt überlaufende Werte nicht so, wie es ein Hardware-Register täte: kann die vorzeichenbehaftete Ganzzahl in der gewählten Breite nicht leben, scheitert die Anfrage statt still ein falsches Wort zu einem anderen Integer zu liefern. Studierende können Hausaufgaben daher an einer Definition prüfen, die Lehrbüchern entspricht, und Automatisierung kann einem Erfolg als legale Kodierung für die angegebene Breite vertrauen.

Plus fünf in acht Bits ist 00000101; minus fünf in acht Bits ist 11111011; null ist eine Kette aus Nullen; minus eins ist eine Kette aus Einsen. Diese vier Orientierungspunkte genügen, jede spätere Breite nach derselben modularen Regel zu prüfen.

Wo ein Zweierkomplement-Kodierer seinen Nutzen verdient

Unterrichtsräume nutzen einen Zweierkomplement-Rechner, damit Lernende vorzeichenbehaftete Hausaufgabenwerte in Acht- und Sechzehn-Bit-Wörter wandeln können, ohne ein Vorzeichenbit von Hand umzuklappen und den Plus-eins-Schritt zu vergessen, der Zweierkomplement vom Einerkomplement unterscheidet. Prüfungsgeneratoren brauchen ein deterministisches Orakel, das einhundertachtundzwanzig in acht Bits als Überlauf ablehnt statt nach minus einhundertachtundzwanzig umzuwickeln, denn Umwickeln ist ein Hardwareverhalten, das Studierende als verschieden von einer legalen Kodierung der ursprünglichen Ganzzahl erkennen müssen.

Eingebettete Firmware-Prüfungen brauchen oft eine schnelle Kontrolle, dass eine dokumentierte Konstante wirklich die beworbene Feldbreite einnimmt, bevor sie in ein Register, ein Protokollwort oder ein Bitfeld eines Datenblatts gepackt wird. Protokollentwerfende vergleichen das gelieferte Wort mit einem Paketauszug, wenn ein vorzeichenbehaftetes Feld höchstwertiges Bit zuerst übertragen wird. Halten Sie Anfragen klein, prüfen Sie das Feld binary in Tests, und Sie erhalten reproduzierbare Zweierkomplement-Wörter für Hausaufgaben, Labore und Rand-Worker, ohne eine eigene Assemblerkette aufzustellen.

Unterrichts- und Hausaufgabenprüfungen

Wandeln Sie vorzeichenbehaftete Übungsblattwerte in Acht- oder Sechzehn-Bit-Zweierkomplementwörter und bestätigen Sie das Invertieren-und-eins-addieren ohne handgezeichnete Bittabelle.

Firmware- und Protokollprüfungen

Prüfen Sie, dass eine dokumentierte vorzeichenbehaftete Konstante wirklich in die beworbene Feldbreite passt, bevor Sie sie in ein Register oder ein Drahtformat packen.

Was geschieht, wenn die Ganzzahl nicht in die Bitbreite passt?

Der Endpunkt umwickelt nicht. Für acht Bits gilt der Bereich −128 bis 127, daher ist 128 ein Fehler und nicht das Bitmuster von −128.

Wie wird ein negativer Wert kodiert?

Als nichtnegativer Rest der Ganzzahl modulo 2^w, gleichbedeutend mit Invertieren der Betragsbits und Addieren von eins. Minus fünf in acht Bits ist 11111011.

Welche Bitbreiten werden unterstützt?

Jede ganzzahlige Breite von 2 bis 64. Übliche Lehr- und Firmwarebreiten sind 8, 16, 32 und 64, sofern der Wert im sicheren Ganzzahlbereich von JavaScript bleibt.

Wie wandle ich eine Ganzzahl mit Vorzeichen ins Zweierkomplement um?

Ist sie positiv, schreiben Sie sie binär und füllen links mit Nullen bis zur gewählten Breite auf. Ist sie negativ, invertieren Sie die Bits des positiven Werts und addieren eins: So wird −5 in 8 Bit zu 11111011.

Was unterscheidet das Einerkomplement vom Zweierkomplement?

Das Einerkomplement invertiert nur jedes Bit des positiven Werts, das Zweierkomplement invertiert und addiert danach eins. Genau dieser Zusatzschritt macht aus −5 in 8 Bit die 11111011 und aus −1 eine Reihe von Einsen.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/math/twos-complement

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/math/twos-complement \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":-5,"bits":8}'
{
  "value": -5,
  "bits": 8
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.twos_complement",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

min_bits2
max_bits64
HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Passt die Ganzzahl nicht in den vorzeichenbehafteten Bereich der gewählten Breite, scheitert die Aufgabe mit invalid_input statt still zu umwickeln. Erfolgreiche API-Aufrufe kosten $0.002; ungültige Eingaben werden nicht berechnet.

Eingabevertrag, zulässiger Bereich und wie Überlauf gemeldet wird

Brüche, wissenschaftliche Notation, leere Ketten, Infinity und NaN werden abgelehnt, damit eine schlechte Tabellenzelle kein falsches Bitmuster wird. Fehlende Felder, Nicht-Ganzzahlen und ein bits außerhalb von zwei bis vierundsechzig scheitern ebenso und werden nicht berechnet. Der Vertrag ist bewusst fail-closed: 128 nach 10000000 umzuwickeln wäre eine korrekte Kodierung von minus einhundertachtundzwanzig, nicht von einhundertachtundzwanzig, und dieser Endpunkt weigert sich, diese Unterscheidung zu verwischen. Senden Sie ein JSON-Objekt mit zwei Pflichtfeldern. Das Feld value ist die vorzeichenbehaftete Ganzzahl, die kodiert werden soll. Es darf eine JSON-Zahl oder eine Dezimalziffernkette mit optionalem Plus- oder Minuszeichen sein. Der Absolutwert muss im sicheren Ganzzahlbereich von JavaScript bleiben, damit das zurückgegebene value eine exakte JSON-Zahl bleibt. Das Feld bits ist die Wortbreite als Ganzzahl von zwei bis vierundsechzig einschließlich; das deckt die üblichen Lehrbreiten int8, int16, int32 und int64 ab und bleibt günstig zu berechnen. Alias n, integer und number werden für value akzeptiert; width, bit_width und nbits für bits. Bei Erfolg wiederholt die Antwort value und bits, liefert binary als Kette aus genau bits Zeichen Null oder Eins, liefert unsigned als dasselbe Muster gelesen als nichtnegative Ganzzahl und liefert min sowie max, damit Aufrufende den zulässigen Bereich neben der Antwort zeigen können. Beispiel: value minus fünf und bits acht ergeben binary 11111011, unsigned zweihunderteinundfünfzig, min minus einhundertachtundzwanzig und max einhundertsiebenundzwanzig.

Wo ein Zweierkomplement-Kodierer seinen Nutzen verdient

Erfolgreiche API-Aufrufe kosten das veröffentlichte $0.002; Validierungsfehler werden nicht berechnet; nach der Antwort wird nichts gespeichert.

Automatische Prüfungs- und LMS-Bewertung

Bewerten Sie Zweierkomplement-Aufgaben mit einem deterministischen Orakel, das Überlauf als invalid_input ablehnt statt die Ganzzahl in einen anderen Wert umzuwickeln.

Wie wandelt man eine vorzeichenbehaftete Ganzzahl ins Zweierkomplement-Binär?

Senden Sie die Ganzzahl als value und die Wortbreite als bits (2–64). Die API liefert eine Binärkette aus genau so vielen 0/1-Zeichen sowie den vorzeichenlosen Betrag und den zulässigen vorzeichenbehafteten Bereich.

Was kostet der Zweierkomplement-Rechner?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 je erfolgreichem Aufruf; ungültige Eingaben werden nicht berechnet.

Vollständige KIT-Dokumentation lesen →