Datentyp-Konverter | IEEE754 Gleitkommazahl/Hexadezimal/Dezimal-Umwandlung/Multi-Byte-Reihenfolge (Big-Endian/Little-Endian/Big-Endian-Byte-Swap/Little-Endian-Byte-Swap) Unterstützung/Echtzeit-Konvertierung
Professioneller Datentyp-Konverter, der die Umwandlung zwischen IEEE754-Gleitkommazahlen, Hexadezimal und Dezimal unterstützt. Deckt alle Ganzzahl- und Gleitkommadatentypen (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64) ab und unterstützt verschiedene Byte-Reihenfolgen (Big-Endian/Little-Endian/Big-Endian-Byte-Swap/Little-Endian-Byte-Swap) mit Echtzeit-Ergebnisanzeige.
Umwandlungsergebnisse
| Datentyp | ABCD (Big-Endian) | DCBA (Little-Endian) | BADC | CDAB |
|---|---|---|---|---|
UINT16 16-Bit vorzeichenlose Ganzzahl | - | - | ||
INT16 16-Bit vorzeichenbehaftete Ganzzahl | - | - | ||
UINT32 32-Bit vorzeichenlose Ganzzahl | - | - | - | - |
INT32 32-Bit vorzeichenbehaftete Ganzzahl | - | - | - | - |
FLOAT32 32-Bit Gleitkommazahl | - | - | - | - |
UINT64 64-Bit vorzeichenlose Ganzzahl | - | - | - | - |
INT64 64-Bit vorzeichenbehaftete Ganzzahl | - | - | - | - |
FLOAT64 64-Bit Gleitkommazahl | - | - | - | - |
Benutzerhandbuch
Funktionsübersicht
Der Datentyp-Konverter dient der Umwandlung zwischen verschiedenen Datenformaten. Er unterstützt die Konvertierung zwischen Hexadezimal und Dezimal und deckt eine Vielzahl von Ganzzahl- und Gleitkommadatentypen von 16 bis 64 Bit ab. Ganzzahlen werden im Zweierkomplement dargestellt, Gleitkommazahlen nach dem IEEE-754-Standard (Single-Precision 32-Bit/Double-Precision 64-Bit), was den Einfluss der Byte-Reihenfolge auf das Ergebnis verdeutlicht.
Hauptfunktionen:
- Formatkonvertierung: Unterstützt die Umwandlung zwischen Hexadezimal und Dezimal
- Vielfältige Datentypen: Unterstützt 8 gängige Datentypen (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64)
- Byte-Reihenfolgen: Unterstützt 4 Byte-Reihenfolgen (ABCD/DCBA/BADC/CDAB) für verschiedene Geräte- und Registeranforderungen
- Echtzeit-Konvertierung: Zeigt sofort nach der Eingabe die Umwandlungsergebnisse für alle Typen an
Anwendung
- 1. Eingabeformat wählen: Dezimal oder Hexadezimal
- 2. Wert in das Eingabefeld eingeben
- 3. Umwandlungsergebnisse in der Tabelle unten einsehen
- 4. Ergebnisse außerhalb des gültigen Bereichs werden als '-' angezeigt
Eingabeformate
- Dezimaleingabe: Geben Sie Zahlen direkt ein, z.B. 123, -456, 3.14
- Hexadezimaleingabe: Geben Sie hexadezimale Zeichen ein, z.B. 7B, FF00, A1B2C3D4
- Automatische Hex-Formatierung: Ergänzt Eingaben automatisch auf eine gerade Anzahl von Zeichen und fügt Leerzeichen zur Trennung hinzu
Datentypen
Ganzzahltypen:UINT16/INT16 sind 2 Bytes, UINT32/INT32 sind 4 Bytes, UINT64/INT64 sind 8 Bytes. Vorzeichenbehaftete Ganzzahlen verwenden das Zweierkomplement, bei dem das höchstwertige Bit das Vorzeichen darstellt. Negative Zahlen werden durch Komplementbildung des Absolutwerts (bitweises Invertieren + 1) gebildet und bei der Anzeige entsprechend der Ziel-Bitbreite vorzeichenerweitert.
Gleitkommatypen:FLOAT32 ist eine 4-Byte Single-Precision-Zahl (1 Vorzeichenbit + 8 Exponentenbits + 23 Mantissenbits, Exponent-Bias 127). FLOAT64 ist eine 8-Byte Double-Precision-Zahl (1 Vorzeichenbit + 11 Exponentenbits + 52 Mantissenbits, Exponent-Bias 1023), beide entsprechen dem IEEE-754-Standard. Sonderwerte wie ±0, ±∞ und NaN (Not-a-Number) werden unterstützt. Subnormale Zahlen werden mit sehr kleinen Exponenten dargestellt.
Bereichsbeschränkung: Werte außerhalb des Datentypbereichs werden als '-' angezeigt
Byte-Reihenfolge (Endianness)
- ABCD: Big-Endian, höchstwertiges Byte zuerst (z.B. bei einigen SPS/Industriegeräten)
- DCBA: Little-Endian, niedrigstwertiges Byte zuerst (z.B. bei den meisten x86-Architekturen)
- BADC: Byte-Swap (16-Bit-Wort-Swap AB↔BA, CD↔DC), häufig bei 32-Bit-Daten
- CDAB: Byte-Swap (innerhalb einer 32-Bit-Gruppe werden die vorderen und hinteren zwei Bytes getauscht), kompatibel mit einigen Modbus-Register-Wortfolgen
Hinweis: Die Byte-Reihenfolge (Byte Endianness) ist nicht dasselbe wie die Register-Wortfolge (Word Order). Bei 16-Bit-Daten sind nur ABCD und DCBA relevant. Bei 64-Bit-Daten wird empfohlen, sich an der 8-Byte-Darstellung ABCDEFGH zu orientieren, um Verwechslungen zu vermeiden.
Wissenswertes zur Datenkonvertierung
Was ist Datentyp-Konvertierung?
Datentyp-Konvertierung ist der Prozess, denselben numerischen Wert zwischen verschiedenen Darstellungsformaten umzuwandeln. Dies umfasst Konvertierungen zwischen Zahlensystemen (Dezimal/Hexadezimal) und Datentypen (Ganzzahl/Gleitkomma). Dies ist häufig beim Parsen von Registerwerten und Erstellen von Datenrahmen in Modbus/SPS/Embedded-Szenarien erforderlich.
IEEE-754 Gleitkommaformat (Single/Double Precision)
Single Precision (32-Bit) = 1 Vorzeichenbit + 8 Exponentenbits (Bias 127) + 23 Mantissenbits. Double Precision (64-Bit) = 1 Vorzeichenbit + 11 Exponentenbits (Bias 1023) + 52 Mantissenbits. Unterstützt ±0, ±∞, NaN. Wenn der Exponent null und die Mantisse nicht null ist, handelt es sich um eine subnormale Zahl, die sehr kleine Werte nahe null darstellt.
Zweierkomplement und vorzeichenbehaftete Ganzzahlen
Das Zweierkomplement wird durch bitweises Invertieren des Absolutwerts und anschließendes Addieren von 1 gebildet, wobei das höchstwertige Bit das Vorzeichen anzeigt. Beim Parsen von HEX zu INT muss eine Vorzeichenerweiterung entsprechend der Bitbreite durchgeführt werden. Wenn das höchstwertige Bit 1 ist, stellt es eine negative Zahl dar und muss nach der Zweierkomplementregel zurückverwandelt werden.
Byte-Reihenfolge (Endianness) und Register-Wortfolge (Word Order)
Die Byte-Reihenfolge steuert die Anordnung der Bytes im Speicher (ABCD/DCBA), während die Register-Wortfolge die Reihenfolge von 16-Bit-Wörtern (High/Low Word) steuert (z.B. BADC/CDAB). Beide beeinflussen oft die Anzeige und das Parsen von 32/64-Bit-Daten und sollten mit der Gerätedokumentation übereinstimmen.
64-Bit-Ganzzahlen und sichere JavaScript-Ganzzahlen
Der Number-Typ in Browsern ist eine IEEE-754 Double-Precision-Zahl mit einem sicheren Ganzzahlbereich von ±(2^53-1). Dieses Tool verwendet BigInt für die Umwandlung und Anzeige von 64-Bit-Werten. Wenn ein Wert den Zielbereich überschreitet oder ein Präzisionsrisiko besteht, wird '-' angezeigt.
Normalisierung der HEX-Eingabe
Die HEX-Eingabe wird automatisch normalisiert: Nicht-Hex-Zeichen werden entfernt, alles wird in Großbuchstaben umgewandelt und bei Bedarf wird eine führende Null hinzugefügt, um eine gerade Anzahl von Stellen zu gewährleisten. Zur besseren Lesbarkeit wird die Anzeige in Zweiergruppen mit Leerzeichen getrennt.
Regeln für Gleitkommazahlen und Ganzzahltypen
Wenn eine Dezimaleingabe einen Dezimalpunkt enthält und das Ziel ein Ganzzahltyp ist, wird '-' angezeigt. Eine Gleitkomma-Konvertierung erfolgt nur für FLOAT32/FLOAT64.
Häufige Missverständnisse: Big/Little-Endian und Bit-Reihenfolge, NaN/Infinity-Anzeige
Big/Little-Endian beeinflusst nur die Byte-Reihenfolge, nicht die Bit-Reihenfolge innerhalb eines Bytes. NaN hat mehrere Kodierungsformen, wird aber immer als NaN angezeigt. ±0 wird in IEEE-754 unterschieden, ist aber bei numerischen Vergleichen meist äquivalent.
Anwendungsfälle
- Konvertierung von Modbus-Kommunikationsdaten
- Debugging von SPS-Datentypen
- Konfiguration von Industrieparametern
- Analyse von Kommunikationsprotokollen
- Entwicklung von Datenerfassungssystemen
- Berechnung von Geräteregisterwerten
- Umwandlung von Gleitkomma- in Ganzzahlwerte
- Anpassung von Datenformaten zwischen Geräten