Tietotyyppien muunnostyökalu | IEEE754-liukuluku/heksadesimaali/desimaali-muunnos/usean tavujärjestyksen tuki (Big-Endian/Little-Endian/Big-Endian-Byte Swap/Little-Endian-Byte Swap)/reaaliaikainen muunnos

Ammattimainen tietotyyppien muunnostyökalu, joka tukee IEEE754-liukulukujen ja heksadesimaali/desimaali-arvojen välistä muunnosta. Kattaa kaikki kokonaisluku- ja liukulukutietotyypit (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64) ja tukee useita tavujärjestyksiä (Big-Endian (korkea tavu ensin)/Little-Endian (matala tavu ensin)/Big-Endian-Byte Swap (korkea tavu ensin)/Little-Endian-Byte Swap (matala tavu ensin)). Muunnostulokset näytetään reaaliaikaisesti.

Syöttömuoto:

Muunnostulokset

TietotyyppiABCD (Big-Endian)DCBA (Little-Endian)BADCCDAB
UINT16
16-bittinen etumerkitön kokonaisluku
-
-
INT16
16-bittinen etumerkillinen kokonaisluku
-
-
UINT32
32-bittinen etumerkitön kokonaisluku
-
-
-
-
INT32
32-bittinen etumerkillinen kokonaisluku
-
-
-
-
FLOAT32
32-bittinen liukuluku
-
-
-
-
UINT64
64-bittinen etumerkitön kokonaisluku
-
-
-
-
INT64
64-bittinen etumerkillinen kokonaisluku
-
-
-
-
FLOAT64
64-bittinen liukuluku
-
-
-
-

Käyttöohje

Toimintojen yleiskatsaus

Tietotyyppien muunnostyökalu on suunniteltu eri datamuotojen välisiin muunnoksiin, tukien heksadesimaalin ja desimaalin välistä muunnosta. Se kattaa laajan valikoiman 16-bittisistä 64-bittisiin kokonaisluku- ja liukulukutietotyyppejä. Kokonaisluvut esitetään kahden komplementin (Two's Complement) muodossa; liukuluvut käyttävät IEEE-754-koodausta (yksinkertainen 32-bittinen/kaksinkertainen 64-bittinen), mikä mahdollistaa tavujärjestyksen vaikutuksen tulokseen havainnollisen tarkastelun.

Päätoiminnot

  • Formaatin muunnos tukee heksadesimaalin ja desimaalin välistä muunnosta
  • Useita tietotyyppejä tukee 8 yleistä tietotyyppiä (UINT16/INT16/UINT32/INT32/FLOAT32/UINT64/INT64/FLOAT64)
  • Tavujärjestyksen tuki tukee 4 eri tavujärjestystä (ABCD/DCBA/BADC/CDAB) eri laitteiden ja rekisterien sanajärjestysvaatimusten mukaisesti
  • Reaaliaikainen muunnos näyttää kaikkien tyyppien muunnostulokset heti datan syöttämisen jälkeen

Käyttötapa

  • 1. Valitse syöttömuoto, desimaali tai heksadesimaali
  • 2. Syötä arvo syöttökenttään
  • 3. Tarkastele alla olevan taulukon muunnostuloksia
  • 4. Alueen ylittävät muunnostulokset näytetään merkinnällä '-'

Syöttömuodon selitys

  • Desimaalisyöttö, syötä numerot suoraan, esim. 123, -456, 3.14
  • Heksadesimaalisyöttö, syötä 16-järjestelmän merkkejä, esim. 7B, FF00, A1B2C3D4
  • Heksadesimaalin automaattinen muotoilu, täydentää syötteen automaattisesti parilliseksi ja lisää välilyönnit erottimiksi

Tietotyyppien selitys

KokonaislukutyypitUINT16/INT16 ovat 2 tavua, UINT32/INT32 ovat 4 tavua, UINT64/INT64 ovat 8 tavua. Etumerkilliset kokonaisluvut käyttävät kahden komplementin esitysmuotoa, jossa korkein bitti on etumerkkibitti. Negatiiviset luvut saadaan ottamalla itseisarvosta komplementti (bittien kääntö + 1) ja näyttämisen yhteydessä tehdään etumerkin laajennus kohdebitin leveyden mukaan.

LiukulukutyypitFLOAT32 on 4 tavun yksinkertaisen tarkkuuden liukuluku (1 etumerkkibitti + 8 eksponenttibittiä + 23 mantissabittiä, eksponentin poikkeama 127). FLOAT64 on 8 tavun kaksinkertaisen tarkkuuden liukuluku (1 etumerkkibitti + 11 eksponenttibittiä + 52 mantissabittiä, eksponentin poikkeama 1023). Molemmat noudattavat IEEE-754-standardia ja tukevat erikoisarvoja, kuten ±0, ±∞ ja NaN (Not a Number). Subnormaalit luvut esitetään hyvin pieninä eksponentteina.

Aluerajoitukset, tietotyypin alueen ylittävät arvot näytetään merkinnällä '-'

Tavujärjestyksen selitys

  • ABCD, Big-Endian, korkean arvon tavu ensin (esim. jotkin PLC/teollisuusohjauslaitteet)
  • DCBA, Little-Endian, matalan arvon tavu ensin (esim. useimmat x86-arkkitehtuurit)
  • BADC, tavunvaihto (vaihtaa 16-bittisin askelin AB↔BA, CD↔DC), yleinen 32-bittisessä datassa, jossa kaksi tavuparia vaihdetaan
  • CDAB, tavunvaihto (32-bittisessä ryhmässä ensimmäiset ja viimeiset kaksi tavua vaihdetaan), yhteensopiva joidenkin Modbus-rekisterien sanajärjestyksen kanssa

Huomautus tavujärjestys (Byte Endianness) ja rekisterin sanajärjestys (Word Order) ovat eri käsitteitä. 16-bittisellä datalla vain ABCD- ja DCBA-järjestyksillä on merkitystä. 64-bittisessä datassa suositellaan viittaamaan ABCDEFGH-kahdeksan tavun kaavioon sekaannusten välttämiseksi.

Tietoa datamuunnoksesta

Mitä on tietotyyppien muunnos?

Tietotyyppien muunnos on prosessi, jossa sama numeerinen arvo muunnetaan eri esitysmuotojen välillä, mukaan lukien eri lukujärjestelmät (desimaali/heksadesimaali) ja eri tietotyypit (kokonaisluku/liukuluku). Tämä on yleistä Modbus/PLC/sulautettujen järjestelmien rekisteriarvojen jäsennyksessä ja kehysten muodostuksessa.

IEEE-754 liukulukumuoto (yksinkertainen/kaksinkertainen tarkkuus)

Yksinkertainen tarkkuus (32-bittinen) = 1 etumerkkibitti + 8 eksponenttibittiä (poikkeama 127) + 23 mantissabittiä. Kaksinkertainen tarkkuus (64-bittinen) = 1 etumerkkibitti + 11 eksponenttibittiä (poikkeama 1023) + 52 mantissabittiä. Tukee ±0, ±∞, NaN; kun eksponentti on kokonaan nolla ja mantissa ei ole nolla, kyseessä on subnormaali luku, jota käytetään esittämään nollaa lähellä olevia hyvin pieniä lukuja.

Kahden komplementti ja etumerkilliset kokonaisluvut

Komplementti saadaan kääntämällä itseisarvon bitit ja lisäämällä yksi, ja korkein bitti toimii etumerkkibittinä. Kun HEX-arvoa jäsennetään INT-tyypiksi, on tehtävä etumerkin laajennus bittileveyden mukaan. Jos korkein bitti on 1, se tarkoittaa negatiivista lukua, joka on palautettava komplementtisäännön mukaisesti.

Tavujärjestys (Endianness) ja rekisterin sanajärjestys (Word Order)

Tavujärjestys määrittää tavujen järjestyksen muistissa (ABCD/DCBA), kun taas rekisterin sanajärjestys määrittää 16-bittisten rekisterien korkean ja matalan sanan järjestyksen (esim. BADC/CDAB). Molemmat vaikuttavat usein 32/64-bittisen datan näyttöön ja jäsennykseen, ja niiden tulisi vastata laitteen dokumentaatiota.

64-bittiset kokonaisluvut ja JavaScriptin turvalliset kokonaisluvut

Selaimen Number-tyyppi on IEEE-754-kaksinkertaisen tarkkuuden liukuluku, jonka turvallinen kokonaislukualue on ±(2^53-1). Tämä työkalu käyttää BigInt-tyyppiä 64-bittisten muunnosten ja näyttöjen käsittelyyn. Kun arvo ylittää kohdetyypin alueen tai on olemassa tarkkuusriski, se näytetään merkinnällä '-'.

HEX-syötteen normalisointi

HEX-syöte poistaa automaattisesti ei-heksadesimaaliset merkit, muuntaa ne isoiksi kirjaimiksi ja lisää tarvittaessa etunollia parillisen määrän varmistamiseksi. Näytettäessä se ryhmitellään kahden merkin välein välilyönneillä luettavuuden parantamiseksi.

Liukulukujen ja kokonaislukutyyppien säännöt

Kun desimaalisyöte sisältää desimaalipilkun ja kohde on kokonaisluku, näytetään '-'. Liukulukumuunnos tehdään vain, kun kohde on FLOAT32/FLOAT64.

Yleiset väärinkäsitykset, ison/pienen endianin ja bittijärjestyksen, NaN/Infinity-näytön ero

Iso/pieni endian vaikuttaa vain tavujärjestykseen, bittien järjestys tavun sisällä ei muutu. NaN:lla on useita koodausmuotoja, mutta se näytetään aina NaN:na. ±0 erotellaan IEEE-754:ssä, mutta numeerisessa vertailussa ne ovat yleensä samanarvoisia.

Käyttökohteet

  • Modbus-viestinnän datamuotojen muuntaminen
  • PLC-tietotyyppien vianmääritys
  • Teollisuuslaitteiden parametrien konfigurointi
  • Viestintäprotokollien analysointi
  • Tiedonkeruujärjestelmien kehitys
  • Laiterekisterien arvojen laskenta
  • Liukulukujen ja kokonaislukujen muuntaminen
  • Useiden laitteiden datamuotojen sovittaminen
Tietotyyppien muunnostyökalu | IEEE754-liukuluku/heksadesimaali/desimaali-muunnos/usean tavujärjestyksen tuki (Big-Endian/Little-Endian/Big-Endian-Byte Swap/Little-Endian-Byte Swap)/reaaliaikainen muunnos