ForHosting KIT · Entwickler-Tools

Bitrotation-Rechner für Links- und Rechtsrotation

Dieser Bitrotations-Rechner führt eine zirkuläre Links- oder Rechtsrotation innerhalb einer vorzeichenlosen Ganzzahl fester Breite aus.

● BetaKostenlos · im Browser
Nutzen Sie es über WebAPIE-MailTelegramApp bald

Bits, die ein Ende verlassen, erscheinen sofort am anderen Ende wieder – genau wie bei Schieberegistern, kryptografischen Grundoperationen, Prüfsummen, eingebetteten Systemen und hardwarenahen Datenformaten. Geben Sie einen dezimalen, hexadezimalen oder binären Wert ein, wählen Sie Breite und Richtung und legen Sie eine nicht negative Rotationsanzahl fest. Der Rechner berücksichtigt führende Nullstellen und liefert exakte Ergebnisse als Dezimalzahl, Binärzahl fester Breite und aufgefüllte Hexadezimalzahl.

Wählen Sie Wert und exakte Registerbreite

Eine Rotation ist nur bei bekannter Bitbreite eindeutig. Derselbe Zahlenwert kann in einem 8-Bit-Register ein anderes Ergebnis liefern als in einem 16-Bit-Register, weil die Umlaufgrenze jeweils an einer anderen Stelle liegt. Geben Sie den vorzeichenlosen Wert in gewöhnlicher Dezimalschreibweise ein oder verwenden Sie 0x für Hexadezimal- und 0b für Binärschreibweise. Wählen Sie anschließend eine Breite von 1 bis 4096 Bit. Der Wert muss vollständig in diese Breite passen; zu große Werte werden abgewiesen, damit keine stillschweigende Kürzung Informationen verbirgt. Führende Nullpositionen gehören zum Register, auch wenn sie in der Eingabe fehlen. So wird die Dezimalzahl 5 bei einer Breite von 8 als 00000101 und nicht bloß als 101 behandelt. Die Binärausgabe wird stets auf die genaue Breite aufgefüllt. Die Hexadezimalausgabe erhält genügend vollständige Stellen. Dadurch lässt sich das Ergebnis einfach mit einem Registerdiagramm, Protokollfeld, Debugger oder Programmcode vergleichen.

Verstehen Sie die zirkuläre Bewegung in beide Richtungen

Eine zirkuläre Rotation unterscheidet sich von einer logischen Verschiebung, weil kein Bit verloren geht und keine neue Null eingefügt wird. Bei einer Linksrotation wandern die Bits zum höchstwertigen Ende; Bits jenseits dieser Grenze kehren an den niedrigstwertigen Positionen zurück. Bei einer Rechtsrotation läuft die Bewegung umgekehrt, sodass Bits vom niedrigstwertigen Ende am höchstwertigen Ende wieder erscheinen. Der Rechner verarbeitet das vollständige Muster fester Breite mit einer exakten Ganzzahloperation. Eine Rotationsanzahl gleich der Breite stellt das ursprüngliche Muster wieder her; dasselbe gilt für jedes ganzzahlige Vielfache. Deshalb wird die eingegebene Anzahl modulo Breite reduziert und als wirksamer Wert normalized_shift ausgegeben. Das unterstützt die Prüfung von Code mit unbeschränkten Anzahlen und die Modellierung von Hardware, deren Auswahl nur einen Zustand je Registerposition benötigt. Ist der wirksame Wert null, bleibt die Zahl direkt erhalten, ohne eine ungültige Verschiebung um die gesamte Breite auszuführen.

Lesen Sie die Ausgabe und prüfen Sie Implementierungen

Die Antwort enthält den ursprünglichen Wert in normalisierter Dezimalform, die gewählte Breite, die angeforderte und wirksame Rotationsanzahl sowie die Richtung. Danach folgt der rotierte Wert als Dezimalzahl, Binärmuster fester Breite und großgeschriebene Hexadezimalzahl. Diese Darstellungen eignen sich für unterschiedliche Prüfungen: Binär macht jedes umlaufende Bit sichtbar, Hexadezimal entspricht kompakt der Register- und Hardwaredokumentation, und Dezimal ist praktisch für API und Testfälle ohne Präfixliterale. Verwenden Sie zum Testen ein Muster mit gesetzten Bits nahe beiden Enden, damit falsche Verschiebungen sofort auffallen. Prüfen Sie außerdem null, genau die Breite und einen größeren Wert. So erkennen Sie typische Fehler bei Modulo-Reduktion und sprachspezifischem Schiebeverhalten. Der Algorithmus nutzt Ganzzahlarithmetik beliebiger Genauigkeit statt JavaScript-Operatoren mit 32 Bit. Größere Breiten werden daher weder vorzeichenbehaftet umgewandelt noch still maskiert. Die Verarbeitung ist deterministisch, lokal und begrenzt; sie nutzt weder Netzwerk noch Zufalls- oder Zeitdaten.

Logik eingebetteter Register prüfen

Vergleichen Sie die Firmware-Ausgabe mit einem exakten Binärmuster fester Breite, bevor Sie Gerätecode schreiben oder begutachten.

Kryptografische Schritte kontrollieren

Bestätigen Sie zirkuläre Rotationen in Hashfunktionen, Chiffren und Mischoperationen ohne Überraschungen durch vorzeichenbehaftete 32-Bit-Arithmetik.

Testvektoren für Protokolle erstellen

Erzeugen Sie erwartete Dezimal-, Binär- und Hexadezimalwerte für Felder, deren Bits innerhalb einer festgelegten Breite umlaufen.

Wie unterscheiden sich Bitrotation und Bitverschiebung?

Eine logische Verschiebung verwirft Bits an einem Ende und fügt am anderen Nullen ein. Eine Rotation führt die Bits zum gegenüberliegenden Ende zurück und erhält das gesamte Muster.

Was geschieht, wenn die Rotationsanzahl größer als die Breite ist?

Die Anzahl wird modulo Breite reduziert. Die Antwort zeigt sowohl die angeforderte als auch die normalisierte wirksame Verschiebung.

Kann ich Hexadezimal- oder Binärwerte eingeben?

Ja. Stellen Sie Hexadezimalwerten 0x und Binärwerten 0b voran. Eine Eingabe ohne Präfix wird als Dezimalzahl interpretiert.

Warum muss der Wert in die gewählte Breite passen?

Eine automatische Kürzung könnte hohe Bits unbemerkt entfernen und ein irreführendes Ergebnis erzeugen. Der Rechner weist den Wert ab, damit Sie Wert oder Breite ausdrücklich korrigieren können.

Was kostet eine API-Anfrage?

Jede API-Anfrage kostet $0.002. Die Browserversion führt dieselbe deterministische Berechnung lokal aus.

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/elec/rotate-bits

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/elec/rotate-bits \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":"150","width":8,"shift":3,"direction":"left"}'
{
  "value": "150",
  "width": 8,
  "shift": 3,
  "direction": "left"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "elec.rotate_bits",
  "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.

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.

Vollständige KIT-Dokumentation lesen →