Arithmetische Rechtsverschiebung für Ganzzahlen
Dieser Rechner für arithmetische Rechtsverschiebungen verschiebt alle Bits einer vorzeichenbehafteten Ganzzahl nach rechts und kopiert das höchstwertige Bit in die links frei werdenden Stellen.
Im Browser ausführen – kostenlos
Wählen Sie die Bitbreite, geben Sie eine vorzeichenbehaftete Dezimal-, Hexadezimal- oder Binärzahl ein und bestimmen Sie die Anzahl der Stellen. Sie erhalten exakte Dezimalwerte und auf die gewählte Breite aufgefüllte Bitmuster, unabhängig von der impliziten Ganzzahlgröße einer Programmiersprache.
Legen Sie zuerst die vorzeichenbehaftete Breite fest
Eine arithmetische Rechtsverschiebung ist nur bei bekannter Bitbreite eindeutig. Dasselbe Bitmuster kann bei einer Breite positiv und bei einer anderen negativ sein, weil im Zweierkomplement das höchstwertige Bit das Vorzeichen trägt. Wählen Sie 2 bis 1024 Bits und geben Sie einen Wert aus dem passenden Wertebereich ein. Der Rechner weist Überschreitungen zurück, statt Bits unbemerkt abzuschneiden. Für negative Zahlen eignet sich die Dezimalschreibweise; mit 0x oder 0b können Sie Register und Binärfelder direkt vergleichen. Das Eingabemuster wird bis zur gewählten Breite aufgefüllt, sodass Sie jedes Vorzeichen- und Datenbit sehen.
Verstehen Sie die Vorzeichenerweiterung
Eine logische Rechtsverschiebung fügt links stets Nullen ein. Die arithmetische Variante wiederholt dagegen das Vorzeichenbit: null bei nicht negativen und eins bei negativen Werten. Bei negativen Zahlen entspricht dies einer Division durch eine Zweierpotenz mit Abrundung gegen minus unendlich: Aus minus fünf wird bei einer Stelle minus drei. Die Ausgabe enthält das dezimale Ergebnis, das vollständige Binärmuster und `sign_bit` zur eindeutigen Angabe des wiederholten ursprünglichen Bits.
Verarbeiten Sie große Verschiebungen exakt
Bei null Stellen bleibt der Wert unverändert. Erreicht oder überschreitet die Anzahl die Bitbreite, bleibt nur die Vorzeichenerweiterung: null für einen nicht negativen Wert und minus eins für einen negativen Wert. Dieses Verhalten vermeidet die Zählermaskierung mancher Prozessoren. Alle Berechnungen verwenden Ganzzahlen mit beliebiger Genauigkeit. Dezimalwerte werden als Zeichenfolgen ausgegeben, da JSON nicht jede 64-, 128- oder 1024-Bit-Zahl exakt darstellen kann. Verarbeiten Sie diese Zeichenfolgen deshalb mit einem exakten Ganzzahltyp.
Anwendungsfälle
Vorzeichenbefehle prüfen
Vergleichen Sie Emulator, Compiler oder Prozessor mit einer Operation festgelegter Breite.
Binärformate untersuchen
Prüfen Sie ein vorzeichenbehaftetes Feld bei Operationen mit Vorzeichenerhaltung.
Zweierkomplement erklären
Zeigen Sie aufgefüllte Bitmuster neben ihren exakten Dezimalinterpretationen.
Häufige Fragen
Was bewirkt eine arithmetische Rechtsverschiebung?
Sie verschiebt Bits nach rechts und füllt die hohen Stellen mit dem ursprünglichen Vorzeichenbit.
Wie unterscheidet sie sich von einer logischen Verschiebung?
Die logische Variante fügt Nullen ein; die arithmetische erhält durch das Vorzeichenbit negative Werte.
Welche Eingabeformate werden akzeptiert?
Nutzen Sie vorzeichenbehafteten Dezimaltext oder 0x für Hexadezimal- und 0b für Binärzahlen.
Was geschieht ab einer Verschiebung um die gesamte Breite?
Das Ergebnis ist null für nicht negative und minus eins für negative Werte.
Warum werden Dezimalwerte als Zeichenfolgen ausgegeben?
So bleiben große Ganzzahlen außerhalb des sicheren JSON-Zahlenbereichs exakt.
Was kostet ein API-Aufruf?
Jeder API-Aufruf kostet $0.002. Die Browserfassung nutzt dieselbe deterministische Berechnung.
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/dev/arithmetic-shift-right \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"-42","width":8,"shift":3}'const res = await fetch("https://api.kit.forhosting.com/dev/arithmetic-shift-right", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "-42",
"width": 8,
"shift": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/arithmetic-shift-right",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "-42",
"width": 8,
"shift": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/arithmetic-shift-right", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"-42","width":8,"shift":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"-42","width":8,"shift":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/arithmetic-shift-right", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"value": "-42",
"width": 8,
"shift": 3
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.arithmetic_shift_right",
"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.
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. |