Convertidor endian

Bytes origen (memoria)

↓ orden de bytes convertido ↓

Bytes resultado (memoria)

# Hex de entrada Hex de salida Sin signo Con signo Binario

Conversor de endianness

Esto es un conversor de endianness: cambia el orden de bytes de un valor hex multibyte en memoria. Orden de bytes de un valor multibyte. 0x12345678: big-endian 12 34 56 78, little-endian 78 56 34 12, PDP 34 12 78 56. Ejemplo: 32 bits, BE→LE. Dos palabras AA BB CC DD 11 22 33 44 → DD CC BB AA 44 33 22 11; invertir todo → 44 33 22 11 DD CC BB AA.

Cómo usarlo

  1. Pegue hex. Longitud múltiplo de 2/4/8 (salvo invertir todo).
  2. 16/32/64 bits. Cada palabra por separado.
  3. Origen/destino: big-endian, little-endian o PDP. Intercambiar ⇄ reinyecta el resultado.
  4. Celdas, tabla, __builtin_bswap.

Memoria y valores

La izquierda es la dirección 0. Little-endian pone el LSB en la dirección más baja. uint8_t no tiene endianness.

Orden de red y C

TCP/IP es big-endian (RFC 1700). En host LE: htons/htonl. Flotantes con memcpy.

PDP / middle-endian

PDP-11 guarda 32 bits como 34 12 78 56.

Preguntas frecuentes

  • ¿3 bytes con 32 bits? Hace falta un múltiplo de 4.
  • ¿Invertir todo = swap por palabra? No con varias palabras.
  • ¿Flotantes? Con IEEE 754.

Herramientas relacionadas

Flotantes: IEEE 754. Dump: Hex Dump. Enteros: Hexadecimal a Decimal.

¿Valores enteros? Hexadecimal a Decimal →