Gray-Code für Drehgeber in Binär umrechnen
Gray-Code 0111 ergibt binär 0101, also 5 dezimal. Fügen Sie das Wort ein, das Ihr Drehgeber liefert, mit oder ohne Präfix 0b, und Sie erhalten Binär in derselben Breite, mit allen führenden Nullen. 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
- Gray-Code
- 0111
- Binär
- 0101
- Dezimal
- 5
- Bitbreite
- 4
Bei reflektiertem Gray-Code ändert sich zwischen benachbarten Positionen nur ein Bit. Dadurch vermeiden Dreh- und Lineargeber mehrdeutige Messwerte während eines Übergangs. Am Sensor ist dieser Wert nützlich, Software benötigt jedoch meist gewöhnliches Binärformat. Dieser Rechner kehrt die Gray-Codierung mit einer exakten XOR-Kette vom höchstwertigen bis zum niedrigstwertigen Bit um. Er akzeptiert eine saubere Bitfolge, erhält führende Nullen und liefert das Binärergebnis samt Dezimalwert.
Das kumulative XOR zur Umkehrung von Gray-Code verstehen
Reflektierter Gray-Code ist so angeordnet, dass benachbarte Zahlenpositionen sich in genau einem Bit unterscheiden. Diese Eigenschaft verringert das Risiko, dass ein Geber als weit entfernte Position gelesen wird, während bei gewöhnlichem Binärformat mehrere Bits gleichzeitig wechseln würden. Die Decodierung beginnt an der höchstwertigen Seite.
Das erste Binärbit wird direkt vom ersten Gray-Bit übernommen. Jedes folgende Binärbit entspricht dem vorherigen Binärbit XOR dem aktuellen Gray-Bit. Gleichbedeutend ist jedes Binärbit die Parität aller Gray-Bits vom linken Rand bis zu seiner Position.
Für Gray 0111 lautet die laufende Parität 0, dann 1, danach 0 und schließlich 1; das ergibt Binär 0101. Die Funktion verarbeitet einzelne Zeichen, statt JavaScript-Bitoperationen auf Ganzzahlen zu verwenden, die auf vorzeichenbehaftete 32 bits begrenzt sind. Deshalb bleiben Geberwörter fester Breite und lange Lehrbeispiele exakt.
Unterstützt wird der standardmäßige binär reflektierte Gray-Code; ausgewogene, n-äre oder herstellerspezifische Codes benötigen eigene Zuordnungstabellen.
Ergebnisse für Diagnose, Firmwaretests und Datenflüsse nutzen
Für eine Prüfung am Messplatz fügen Sie das Gray-Wort aus dem Datenblatt oder einem Register ein und vergleichen binary mit der erwarteten mechanischen Position. Speichern Sie bei Firmwaretests bekannte Gray-Eingaben und Binärausgaben als Testfälle. Nutzen Sie diesen Dienst anschließend als unabhängiges Soll für XOR-Routinen in C, Rust, programmierbaren Logiksprachen oder PLC-Umgebungen.
Es gibt weder Netzwerkzugriff noch Zufall, Uhrzeit oder zustandsbehafteten Cache, sodass dieselbe Eingabe stets dasselbe Ergebnis erzeugt. Die Umwandlung prüft keine Verdrahtung und erkennt keinen defekten Geber; ebenso wenig berücksichtigt sie Umlauf, Getriebe oder physikalische Einheiten. Bestätigen Sie vor der Deutung von decimal als reale Position, dass der Hersteller das höchstwertige Bit zuerst sendet und standardmäßigen binär reflektierten Gray-Code nutzt.
Anwendungsfälle
Prüfung von Drehgebern
Decodieren Sie ein erfasstes Gray-Wort in Binär- und Dezimalformat und behalten Sie seine angegebene Breite für den Vergleich mit der Sollposition der Welle.
Normalisierung von Sensordaten
Wandeln Sie archivierte Gray-Felder vor Kalibrierung oder Analyse um und bewahren Sie den normalisierten Quellcode sowie die Umwandlungsmethode auf.
Häufige Fragen
Wie wird reflektierter Gray-Code in Binär umgewandelt?
Übernehmen Sie das höchstwertige Gray-Bit und verknüpfen Sie jedes folgende Gray-Bit per XOR mit dem vorherigen Binärbit; dies entspricht einem laufenden XOR von links nach rechts.
Darf ich das Präfix 0b verwenden?
Ja. Ein anfängliches 0b oder 0B wird vor der Umwandlung entfernt. Andere Zeichen, Trennzeichen und innere Leerzeichen werden abgelehnt.
Werden alle Arten von Gray-Code unterstützt?
Nein. Decodiert wird standardmäßiger binär reflektierter Gray-Code; Herstellertabellen, ausgewogene Codes und nichtbinäre Varianten sind ausgeschlossen.
Darf der Gray-Code Leerzeichen oder Trennzeichen enthalten?
Nein. Das Wort darf nur Nullen und Einsen enthalten, dazu optional das Präfix 0b. Entfernen Sie Leer- oder Trennzeichen vorher selbst: Ein stillschweigend gelöschtes Zeichen könnte eine echte Geberposition in einen plausiblen, aber falschen Messwert verwandeln.
Warum bleiben führende Nullen im Ergebnis erhalten?
Weil die Breite zur Information gehört. Ein 12-Bit-Sensorwort bleibt 12 Bit lang, auch wenn sein Zahlenwert klein ist. Das Ergebnis hat deshalb genauso viele Stellen wie der Gray-Code, und die Bitbreite wird mit angezeigt.
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/gray-to-binary \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"gray_code":"0111"}'const res = await fetch("https://api.kit.forhosting.com/elec/gray-to-binary", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"gray_code": "0111"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/gray-to-binary",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"gray_code": "0111"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/gray-to-binary", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"gray_code":"0111"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"gray_code":"0111"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/gray-to-binary", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"gray_code": "0111"
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.gray_to_binary",
"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_bits | 4096 |
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
Die Berechnung im Browser ist kostenlos; derselbe deterministische API-Vertrag kostet $0.002 je erfolgreichem Element.
Das kumulative XOR zur Umkehrung von Gray-Code verstehen
Das Feld method nennt ausdrücklich cumulative_xor, damit automatische Verbraucher die verwendete Konvention protokollieren können.
Ein Geberwort eingeben und sämtliche Antwortfelder auswerten
Führende Nullen bleiben erhalten: Ein Sensorwort mit 12 bits behält 12 bits, selbst wenn sein Zahlenwert klein ist. Die strenge Prüfung verhindert, dass das unbemerkte Entfernen eines Zeichens eine physische Position in einen plausiblen, aber falschen Messwert verwandelt. Entfernen Sie Trennzeichen in der Quelle daher bewusst vor dem Aufruf. Übergeben Sie gray_code als Folge, die mit dem höchstwertigen Bit beginnt und ausschließlich aus Null und Eins besteht. Das optionale Präfix 0b wird akzeptiert, wenn Sie ein Literal aus einer Firmware-Dokumentation kopieren. Auch die Aliasse gray, value und bits werden erkannt; gray_code ist jedoch der eindeutigste kanonische Name. Die Antwort wiederholt den normalisierten gray_code, schreibt die Standarddarstellung nach binary, gibt decimal möglichst als sichere JSON-Zahl aus und verwendet bei Überschreitung des exakten JavaScript-Ganzzahlbereichs eine Dezimalzeichenfolge. bit_width meldet die tatsächliche Bitanzahl ohne Präfix, method lautet immer cumulative_xor. Leere Eingaben, innere Leerzeichen, Vorzeichen, andere Ziffern als Null und Eins sowie Folgen oberhalb der veröffentlichten Grenze von 4096 bits führen zu invalid_input.
Ergebnisse für Diagnose, Firmwaretests und Datenflüsse nutzen
Datenflüsse können archivierte Sensorwörter vor der Verknüpfung mit Kalibriertabellen decodieren und gray_code sowie bit_width als nachvollziehbare Quelldaten behalten. Jedes erfolgreiche API-Element kostet $0.002; im Browser läuft die Berechnung lokal und kostenlos.
Integrationsbeispiele
Regressionstests für Firmware
Erzeugen Sie stabile Referenzen für eingebettete XOR-Routinen, ohne vom 32 bits breiten Bitverhalten der Hostsprache abhängig zu sein.
Technische Fragen
Bleiben führende Nullen erhalten?
Ja. gray_code und binary behalten die ursprüngliche Breite bei, die zusätzlich ausdrücklich in bit_width steht.
Was kostet der Rechner?
Der Browserrechner läuft kostenlos auf Ihrem Gerät. Jedes erfolgreiche API-Element kostet $0.002; ungültige Eingaben werden abgelehnt.