Verktyg för datatypskonvertering | IEEE754 flyttal/hexadecimal/decimal konvertering/stöd för flera byteordningar (big-endian/little-endian/big-endian-byte-swap/little-endian-byte-swap)/realtidskonvertering

Professionellt verktyg för datatypskonvertering som stöder ömsesidig konvertering mellan IEEE754-flyttal och hexadecimala/decimala värden. Omfattar alla heltal- och flyttalstyper (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64) och stöder flera byteordningar (big-endian (högsta byten först)/little-endian (lägsta byten först)/big-endian-byte-swap/little-endian-byte-swap) med realtidsvisning av konverteringsresultat.

Inmatningsformat:

Konverteringsresultat

DatatypABCD (big-endian)DCBA (little-endian)BADCCDAB
UINT16
16-bitars heltal utan tecken
-
-
INT16
16-bitars heltal med tecken
-
-
UINT32
32-bitars heltal utan tecken
-
-
-
-
INT32
32-bitars heltal med tecken
-
-
-
-
FLOAT32
32-bitars flyttal
-
-
-
-
UINT64
64-bitars heltal utan tecken
-
-
-
-
INT64
64-bitars heltal med tecken
-
-
-
-
FLOAT64
64-bitars flyttal
-
-
-
-

Användarhandledning

Funktionsöversikt

Verktyget för datatypskonvertering är specialiserat på konvertering mellan olika dataformat. Det stöder ömsesidig konvertering mellan hexadecimala och decimala värden och täcker olika heltal- och flyttalstyper från 16 till 64 bitar. Heltal representeras med tvåkomplement (Two's Complement); flyttal använder IEEE-754-kodning (enkel precision 32-bitars/dubbel precision 64-bitars), vilket gör det enkelt att observera hur byteordning påverkar resultatet.

Huvudfunktioner:

  • Formatkonvertering: Stöder ömsesidig konvertering mellan hexadecimala och decimala värden
  • Flera datatyper: Stöder 8 vanliga datatyper (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64)
  • Stöd för byteordning: Stöder 4 byteordningar (ABCD/DCBA/BADC/CDAB) för att passa olika enheter och registerkrav
  • Realtidskonvertering: Visar omedelbart konverteringsresultat för alla typer efter inmatning av data

Användning

  • 1. Välj inmatningsformat: Decimal eller hexadecimal
  • 2. Ange värdet i inmatningsrutan
  • 3. Se konverteringsresultaten i tabellen nedan
  • 4. Konverteringsresultat som ligger utanför intervallet visas som '-'

Beskrivning av inmatningsformat

  • Decimal inmatning: Ange siffror direkt, t.ex. 123, -456, 3.14
  • Hexadecimal inmatning: Ange hexadecimala tecken, t.ex. 7B, FF00, A1B2C3D4
  • Automatisk formatering av hexadecimal: Fyller automatiskt på till ett jämnt antal siffror och lägger till mellanslag som avgränsare vid inmatning

Beskrivning av datatyper

Heltalstyper:UINT16/INT16 är 2 byte, UINT32/INT32 är 4 byte, UINT64/INT64 är 8 byte; heltal med tecken använder tvåkomplement (Two's Complement) representation, där den högsta biten är teckenbiten. Negativa tal erhålls genom att ta komplementet av det absoluta värdet (bitvis invertering + 1) och visas med teckenutvidgning enligt målbitbredden.

Flyttalstyper:FLOAT32 är 4-byte enkel precision (1 teckenbit + 8 exponentbitar + 23 mantissabitar, exponent-offset 127), FLOAT64 är 8-byte dubbel precision (1 teckenbit + 11 exponentbitar + 52 mantissabitar, exponent-offset 1023), båda i enlighet med IEEE-754-standarden. Stöder specialvärden som ±0, ±∞ och NaN (Not a Number), subnormala tal representeras med mycket små exponenter.

Intervallbegränsning: Värden som ligger utanför datatypens intervall visas som '-'

Beskrivning av byteordning

  • ABCD: Big-endian, högsta byten först (t.ex. vissa PLC/industriella kontrollenheter)
  • DCBA: Little-endian, lägsta byten först (t.ex. de flesta x86-arkitekturer)
  • BADC: Byte-swap (byter AB↔BA, CD↔DC i 16-bitars steg), vanligt vid byte-swap av 32-bitars data
  • CDAB: Byte-swap (byter de två första och två sista byten i en 32-bitars grupp), kompatibel med vissa Modbus-registerordningar

Obs: Byteordning (Byte Endianness) och registerordning (Word Order) är olika begrepp; för 16-bitars data är endast ABCD- och DCBA-arrangemang meningsfulla. För 64-bitars data rekommenderas att referera till en ABCDEFGH åtta-byte-illustration för att undvika förvirring.

Kunskap om datakonvertering

Vad är datatypskonvertering?

Datatypskonvertering är processen att omvandla samma numeriska värde mellan olika representationsformat, inklusive konverteringar mellan olika talsystem (decimal/hexadecimal) och olika datatyper (heltal/flyttal). Det är vanligt vid tolkning och skapande av registervärden i Modbus/PLC/inbyggda system.

IEEE-754 flyttalsformat (enkel/dubbel precision)

Enkel precision (32-bitars) = 1 teckenbit + 8 exponentbitar (offset 127) + 23 mantissabitar; Dubbel precision (64-bitars) = 1 teckenbit + 11 exponentbitar (offset 1023) + 52 mantissabitar. Stöder ±0, ±∞, NaN; när exponenten är helt noll och mantissan inte är noll, är det ett subnormalt tal, som används för att representera mycket små tal nära noll.

Tvåkomplement (Two's Complement) och heltal med tecken

Komplementet erhålls genom att bitvis invertera det absoluta värdet och sedan addera 1, där den högsta biten är teckenbiten. Vid tolkning av HEX som en INT-typ krävs teckenutvidgning enligt bitbredden. Om den högsta biten är 1, indikerar det ett negativt tal, som måste återställas enligt tvåkomplementregeln.

Byteordning (Endianness) och registerordning (Word Order)

Byteordning styr hur byten ordnas i minnet (ABCD/DCBA), medan registerordning styr ordningen på de höga och låga orden i 16-bitars register (t.ex. BADC/CDAB). Båda påverkar ofta visningen och tolkningen av 32/64-bitars data och bör överensstämma med enhetens dokumentation.

64-bitars heltal och JavaScripts säkra heltal

Webbläsarens `Number` är IEEE-754 dubbel precision, med ett säkert heltalsintervall på ±(2^53-1). Detta verktyg använder `BigInt` för konvertering och visning i 64-bitars scenarier. När ett värde överskrider måltypens intervall eller det finns en precisionsrisk visas ett '-'.

Normalisering av HEX-inmatning

HEX-inmatning tar automatiskt bort icke-hexadecimala tecken, omvandlar till versaler och lägger vid behov till en inledande nolla för att säkerställa ett jämnt antal siffror. Visas med mellanslag mellan varje två tecken för ökad läsbarhet.

Regler för decimaltal och heltalstyper

När decimal inmatning innehåller en decimalpunkt och målet är en heltalstyp visas '-'. Endast när målet är FLOAT32/FLOAT64 utförs en flyttalskonvertering.

Vanliga missförstånd: Big/Little Endian och bitordning, visning av NaN/Infinity

Big/little endian påverkar endast byteordningen, inte bitordningen inom en byte. NaN har flera kodningsformer men visas alltid som NaN. ±0 är åtskilda i IEEE-754 men är vanligtvis ekvivalenta vid numeriska jämförelser.

Användningsområden

  • Konvertering av dataformat för Modbus-kommunikation
  • Felsökning av PLC-datatyper
  • Konfiguration av industriella enhetsparametrar
  • Analys av kommunikationsprotokoll
  • Utveckling av datainsamlingssystem
  • Beräkning av enhetsregistervärden
  • Konvertering mellan flyttal och heltal
  • Anpassning av dataformat för flera enheter
Verktyg för datatypskonvertering | IEEE754 flyttal/hexadecimal/decimal konvertering/stöd för flera byteordningar (big-endian/little-endian/big-endian-byte-swap/little-endian-byte-swap)/realtidskonvertering