Binärrechner Subtraktion
Zwei Binärzahlen online subtrahieren. Minuend und Subtrahend eingeben — nur 0 und 1 — und die Differenz erscheint live in jeder Basis, mit den Borg-Regeln darunter.
Binärzahlen subtrahieren
Vollständiger Rechner (alle Basen, alle Operationen) → · Binärrechner Addition →
So subtrahiert man Binärzahlen
- Zahlen ausrichten. Minuend oben, Subtrahend darunter, rechtsbündig schreiben.
- Von rechts nach links subtrahieren. Jede Spalte von rechts nach links rechnen: Ergebnis = a − b − Borg.
- Bei Bedarf borgen. Ist a − b − Borg negativ, 2 dazuaddieren und 1 als Borg in die nächste Spalte übernehmen.
- Ergebnis ablesen. Bleibt nach der Spalte ganz links kein Borg übrig, steht das Ergebnis da. Ist der Minuend kleiner als der Subtrahend, ist das Ergebnis negativ.
Borg-Regeln der Binär-Subtraktion
| Spalte | Ergebnis-Bit | Borg aus |
|---|---|---|
| 0 − 0 | 0 | 0 |
| 1 − 0 | 1 | 0 |
| 1 − 1 | 0 | 0 |
| 0 − 1 | 1 | 1 |
| 0 − 1 − 1 (mit Borg) | 0 | 1 |
| 1 − 1 − 1 (mit Borg) | 1 | 1 |
Rechenbeispiel: 1011₂ − 1010₂ = 0001₂
| Spalte (von rechts nach links) | Minuend | Subtrahend | Borg ein | Ergebnis | Borg aus |
|---|---|---|---|---|---|
| 1. | 1 | 0 | 0 | 1 | 0 |
| 2. | 1 | 1 | 0 | 0 | 0 |
| 3. | 0 | 0 | 0 | 0 | 0 |
| 4. | 1 | 1 | 0 | 0 | 0 |
Die Ergebnis-Spalte von unten nach oben gelesen: 0 0 0 1. Kontrolle in Dezimal: 11 − 10 = 1 und 0001₂ in Binär ist 1₁₀.
Rechenbeispiel mit Borg: 1000₂ − 0001₂ = 0111₂
| Spalte (von rechts nach links) | Minuend | Subtrahend | Borg ein | Ergebnis | Borg aus |
|---|---|---|---|---|---|
| 1. | 0 | 1 | 0 | 1 | 1 |
| 2. | 0 | 0 | 1 | 1 | 1 |
| 3. | 0 | 0 | 1 | 1 | 1 |
| 4. | 1 | 0 | 1 | 0 | 0 |
Hier muss in den ersten drei Spalten geborgt werden: Der Borg wandert von rechts nach links durch, bis die 1 in der vierten Spalte ihn auffängt. Kontrolle in Dezimal: 8 − 1 = 7 und 0111₂ in Binär ist 7₁₀.
Binärzahlen subtrahieren in Code
Python
def sub_binary(a, b):
diff = int(a, 2) - int(b, 2)
# bin(-1) ergibt '-0b1' — deshalb Betrag nehmen und Minus selbst setzen
return ('-' if diff < 0 else '') + bin(abs(diff))[2:]
print(sub_binary("1011", "1010")) # 1
print(sub_binary("1010", "1011")) # -1 Java
// Ergebnis negativ-sicher: Minuszeichen selbst setzen
int diff = Integer.parseInt("1011", 2) - Integer.parseInt("1010", 2);
String differenz = (diff < 0 ? "-" : "") + Integer.toBinaryString(Math.abs(diff)); // "1"
// Achtung: Integer.toBinaryString(-1) allein ergibt 32 Einsen (Zweierkomplement). C
#include <stdio.h>
#include <string.h>
int binaryToInt(const char *bits) {
int ergebnis = 0;
for (size_t i = 0; i < strlen(bits); i++)
ergebnis = ergebnis * 2 + (bits[i] - '0');
return ergebnis;
}
void printBinary(int n) {
if (n < 0) { putchar('-'); n = -n; }
if (n == 0) { printf("0"); return; }
char bits[64]; int i = 0;
while (n > 0) { bits[i++] = (n % 2) + '0'; n /= 2; }
for (int j = i - 1; j >= 0; j--) putchar(bits[j]);
}
int main(void) {
int differenz = binaryToInt("1011") - binaryToInt("1010");
printBinary(differenz); // gibt 1 aus
return 0;
} Diese Snippets setzen gültige Binäreingaben voraus (nur 0 und 1). RadixFlip weist andere Ziffern für dich zurück — eine eingetippte 2 in einem Binärfeld wird einfach nicht übernommen.
Häufig gestellte Fragen
Wie subtrahiert man Binärzahlen?
Zahlen rechtsbündig untereinander schreiben — Minuend oben, Subtrahend darunter — und dann Spalte für Spalte von rechts nach links subtrahieren. Ergebnis je Spalte: a − b − Borg. Ist das Ergebnis negativ, 2 dazuaddieren und 1 als Borg in die nächste Spalte übernehmen. Beispiel: 1011 − 1010 = 0001.
Was ist 1011 − 1010 in Binär?
1011 − 1010 = 0001 in Binär, also 1 in Dezimal. Kontrolle: 1011 ist 11, 1010 ist 10 und 11 − 10 = 1.
Was sind die Borg-Regeln bei der Binär-Subtraktion?
0 − 0 = 0, 1 − 0 = 1, 1 − 1 = 0 (jeweils ohne Borg), 0 − 1 = 1 mit Borg 1, 0 − 1 − 1 (mit eingehendem Borg) = 0 mit Borg 1 und 1 − 1 − 1 = 1 mit Borg 1. Allgemein: Ergebnis = a − b − Borg ein; ist es negativ, 2 dazuaddieren und Borg aus = 1 setzen.
Was tun, wenn das Ergebnis negativ ist?
Wenn der Minuend kleiner ist als der Subtrahend, ist das Ergebnis negativ. Dann die Differenz umgekehrt rechnen (Subtrahend − Minuend) und ein Minuszeichen davorsetzen. Beispiel: 1010 − 1011 = −1, denn 1011 − 1010 = 1. Der Rechner oben zeigt negative Ergebnisse direkt mit Minuszeichen an.
Wie subtrahiert man Binärzahlen in Python?
Mit int(a, 2) - int(b, 2). Vorsicht bei negativen Ergebnissen: bin(-1) ergibt '-0b1'. Sicherer: ('-' if diff < 0 else '') + bin(abs(diff))[2:]. Beispiel: 1011 − 1010 ergibt "1", 1010 − 1011 ergibt "-1".
Wie subtrahiert man Binärzahlen in Java und C?
Java: int diff = Integer.parseInt("1011", 2) - Integer.parseInt("1010", 2); dann (diff < 0 ? "-" : "") + Integer.toBinaryString(Math.abs(diff)) — ergibt "1". Hinweis: Integer.toBinaryString(-1) allein ergibt 32 Einsen (Zweierkomplement). C: Jede Binärzeichenkette mit einer Schleife in eine Zahl umwandeln (ergebnis = ergebnis * 2 + (ziffer - '0')), die Zahlen subtrahieren und bei negativem Ergebnis ein Minuszeichen vor die zurückgewandelte Binärzahl setzen.