Binärdivision
Teilen Sie zwei vorzeichenlose Binärzahlen und erhalten Sie exakten Quotienten und Rest mit jedem Wiederherstellungsschritt: 110101 geteilt durch 101 ergibt 1010, Rest 11. Jeder Zyklus zeigt das Schieben, den Vergleich und ob der Divisor abgezogen wurde. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Dividend
- 110101
- Divisor
- 101
- Quotient
- 1010
- Rest
- 11
Dieser Rechner dividiert zwei vorzeichenlose Binärzahlen und liefert einen exakten binären Quotienten samt Rest. Zusätzlich zeigt er jede Verschiebung, jeden Vergleich, jede Subtraktion und jede Wiederherstellungsentscheidung des klassischen Algorithmus, mit dem arithmetische Hardware erklärt wird. Geben Sie ausschließlich aus Nullen und Einsen bestehende Zeichenfolgen ein; das Präfix 0b ist zulässig. Vor der Verarbeitung entfernt der Rechner führende Nullen. Da die Implementierung unmittelbar mit Bitfolgen arbeitet und keine Umwandlung in JavaScript-Zahlen vornimmt, bleiben auch große Eingaben exakt. Dadurch eignet sich das Ergebnis für Digitaltechnik-Unterricht, Musterlösungen, Testvektoren und Implementierungsprüfungen.
Definition von binärem Quotienten und Rest
Für die Binärdivision gilt dieselbe ganzzahlige Identität wie für die schriftliche Dezimaldivision: Der Dividend ist gleich Divisor mal Quotient plus Rest, wobei der Rest stets kleiner als der Divisor ist. Lediglich die geschriebenen Ziffern und ihre Stellenwerte unterscheiden sich. Jede Binärstelle steht für eine Zweierpotenz.
Deshalb lässt sich der Quotient Bit für Bit vom höchstwertigen bis zum niedrigstwertigen Bit des Dividenden aufbauen. Ein Quotientenbit von eins bedeutet, dass der Divisor in den aktuellen Teilrest passt; null bedeutet, dass er nicht passt. Nach dem letzten Bit bilden der angesammelte Quotient und der Teilrest das Ergebnis.
Der Rechner verarbeitet ausschließlich vorzeichenlose Ganzzahlen, damit die Spur genau die Betragsoperation eines Hardware-Dividierers abbildet. Führende Nullen ändern den Wert nicht und werden bei normalisierten Ein- und Ausgaben entfernt. Ein Dividend von null ist zulässig und ergibt Quotient null sowie Rest null.
Die Spur der wiederherstellenden Division lesen
Die Spur enthält für jedes Bit des normalisierten Dividenden einen Zyklus. Zu Beginn wird der aktuelle Rest nach links verschoben und das nächste Dividendenbit an der niedrigstwertigen Stelle eingefügt. Anschließend vergleicht der Algorithmus diesen verschobenen Rest mit dem Divisor.
Passt der Divisor hinein, wird er subtrahiert, eine Eins an den Quotienten angehängt und die Differenz in den nächsten Zyklus übernommen. Passt er nicht, wäre die versuchte Subtraktion negativ; in der Hardwaredeutung wird daher der vorherige nichtnegative Rest wiederhergestellt und eine Null angehängt. Die Subtraktion arbeitet mit Binärzeichenfolgen und explizitem Entleihen; daher entstehen weder Gleitkommafehler noch verlorene niedrige Bits bei Operanden oberhalb einer Maschinenwortbreite.
Das Ergebnis für Hardwarestudium und Tests nutzen
Lernende können jeden Zyklus mit den Registern eines Datenpfads aus Restregister, Divisorregister, Subtrahierer, Vergleicher, Quotientenregister und Steuerwerk vergleichen. HDL-Entwickler können eine erfolgreiche Antwort als Sollvektor für eine Verilog- oder VHDL-Testbench verwenden und zusätzlich prüfen, dass der endgültige Rest kleiner als der Divisor ist. Dieselben Vektoren helfen bei der Validierung eines bitweisen Dividierers in Firmware für Prozessoren ohne native Divisionsanweisung.
Jeder Operand ist auf 1024 Bits begrenzt, damit die erzeugte Spur beschränkt bleibt. Vorzeichen, Festkommaskalierung, Rundungsarten sowie nicht wiederherstellende oder SRT-Verfahren sind bewusst nicht enthalten.
Anwendungsfälle
Wiederherstellende Division vermitteln
Gehen Sie im Digitaltechnik-Unterricht jede Verschiebung, bedingte Subtraktion, jedes Quotientenbit und jeden wiederhergestellten Rest durch.
HDL-Testvektoren erzeugen
Erstellen Sie deterministische Sollwerte für Quotient und Rest vorzeichenloser Dividiermodule und vergleichen Sie deren Zykluszustände.
Bitweise Firmware prüfen
Validieren Sie eine Divisionsroutine auf Geräten ohne native Ganzzahldivision, ohne Genauigkeit zu verlieren.
Häufige Fragen
Was ist die wiederherstellende Binärdivision?
Sie ist ein Verschiebe- und Subtraktionsverfahren, das pro Zyklus ein Quotientenbit erzeugt und den Teilrest wiederherstellt, wenn der Divisor nicht passt.
Gibt der Rechner einen Rest zurück?
Ja. Er liefert den binären Quotienten und den endgültigen binären Rest, der stets kleiner als ein gültiger Divisor ungleich null ist.
Kann ich Binärzahlen teilen, die größer als ein JavaScript-Integer sind?
Ja. Der Algorithmus verarbeitet Zeichenfolgen mit bis zu 1024 Bits direkt und wandelt die Operanden niemals in Gleitkommazahlen um.
Werden vorzeichenbehaftete oder gebrochene Binärzahlen unterstützt?
Nein. Diese Fähigkeit akzeptiert nur vorzeichenlose Binärzahlen. Vorzeichenkorrektur und Festkommaskalierung benötigen zusätzliche Regeln.
Liefert der Rechner auch einen Rest?
Ja. Neben dem Quotienten erhalten Sie den exakten Rest, der immer kleiner als der Divisor ist. Zusammen erfüllen beide die Probe: Divisor mal Quotient plus Rest ergibt wieder den Dividenden.
Was passiert, wenn ich durch null teile?
Dann gibt es kein Ergebnis, weil kein Quotient die Division mit dem Divisor null erfüllen kann. Ein Dividend von null ist dagegen erlaubt und ergibt einfach Quotient null und Rest null.
Verwandte Tools
Für Entwickler — API-Zugang
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.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
curl -X POST https://api.kit.forhosting.com/elec/binary-division \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dividend":"110101","divisor":"101"}'const res = await fetch("https://api.kit.forhosting.com/elec/binary-division", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dividend": "110101",
"divisor": "101"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/binary-division",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dividend": "110101",
"divisor": "101"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/binary-division", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dividend":"110101","divisor":"101"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dividend":"110101","divisor":"101"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/binary-division", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"dividend": "110101",
"divisor": "101"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.binary_division",
"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.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
max_chars | 1024 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Dieselbe deterministische Routine läuft im Browser und über die API.
Definition von binärem Quotienten und Rest
Ein Divisor von null ist dagegen ungültig und führt zu invalid_input. Das geläufige Präfix 0b ist erlaubt; eingebettete Leerzeichen, Dezimalziffern, Vorzeichen und Bruchpunkte werden abgewiesen, damit der Vertrag auf Bitebene eindeutig bleibt.
Die Spur der wiederherstellenden Division lesen
Die Antwort bezeichnet die Verzweigung als subtract_divisor oder restore_remainder und hält Eingangsbit, verschobenen Rest, Quotientenbit sowie neuen Rest fest. Diese Darstellung dient der Lehre: Eine optimierte Schaltung kann zuerst spekulativ subtrahieren und danach wiederherstellen, während diese deterministische Software vorab vergleicht und denselben Zustandsübergang ausführt. Folgen Sie der Restspalte, um jede Bitwahl nachzuvollziehen, oder setzen Sie die quotient_bit-Werte zum Quotienten vor der Normalisierung zusammen.
Das Ergebnis für Hardwarestudium und Tests nutzen
Das zurückgegebene Objekt unterstützt Erklärungen ebenso wie automatisierte Prüfungen. dividend und divisor zeigen die normalisierten Operanden; quotient und remainder liefern das kompakte Resultat. Das Feld method kennzeichnet die Spur als restoring_division, während das geordnete Array steps die Zustände aller Zyklen für Arbeitsblätter, Signalverlaufspläne oder Unit-Tests bereitstellt. Die Berechnung verwendet weder Netzwerk noch Zufall, Speicher oder Uhrzeit; identische Eingaben erzeugen stets dasselbe JSON. Schnelle Rechnungen im Browser sind kostenlos, automatisierte API-Aufrufe kosten den veröffentlichten Grundpreis von $0.002 je Element.
Technische Fragen
Was geschieht bei einem Divisor von null?
Die Anfrage schlägt mit invalid_input fehl, weil eine Division durch null keinen gültigen Quotienten mit Rest besitzt.
Was kostet eine API-Anfrage?
Die Berechnung im Browser ist gratis. Jedes erfolgreiche API-Element kostet den veröffentlichten Grundpreis von $0.002; ungültige Eingaben werden nicht berechnet.