Convertitore endian

Byte origine (memoria)

↓ ordine dei byte convertito ↓

Byte risultato (memoria)

# Hex in ingresso Hex in uscita Senza segno Con segno Binario

Convertitore endian

Questo è un convertitore endian: scambia l’ordine dei byte di un valore hex multi-byte in memoria. Ordine dei byte di un valore multi-byte. 0x12345678: big-endian 12 34 56 78, little-endian 78 56 34 12, PDP 34 12 78 56. Esempio: 32 bit, BE→LE. Due parole AA BB CC DD 11 22 33 44 → DD CC BB AA 44 33 22 11; inversione totale → 44 33 22 11 DD CC BB AA.

Come si usa

  1. Incolla hex. Lunghezza multipla di 2/4/8 (salvo inversione totale).
  2. 16/32/64 bit. Ogni parola a parte.
  3. Origine/destinazione: big-endian, little-endian o PDP. Scambia ⇄ reinserisce il risultato.
  4. Celle, tabella, __builtin_bswap.

Memoria e valori

A sinistra c’è l’indirizzo 0. Little-endian mette l’LSB all’indirizzo più basso. uint8_t non ha endianness.

Ordine di rete e C

TCP/IP è big-endian (RFC 1700). Su host LE: htons/htonl. Float con memcpy.

PDP / middle-endian

Il PDP-11 memorizza 32 bit come 34 12 78 56.

Domande frequenti

  • 3 byte con 32 bit? Serve un multiplo di 4.
  • Inversione totale = swap per parola? No con più parole.
  • Float? Con IEEE 754.

Strumenti correlati

Float: IEEE 754. Dump: Hex Dump. Interi: Esadecimale a Decimale.

Valori interi? Esadecimale a Decimale →