Endianness

Endianness é a ordenação de bytes na memória de um computador. As duas ordens mais comuns são "big-endian", em que o byte mais significativo (o byte contendo o bit mais significativo) é armazenado primeiro, e "little-endian", em que o byte menos significativo é armazenado primeiro.

O termo "endianness" vem do fato de que a palavra "endian" pode significar ou "grande" ou "pequeno". A palavra "endian" vem da palavra "fim", que significa a última parte ou o toque final. Em outras palavras, "endianness" refere-se à ordem na qual os bytes são armazenados na memória de um computador. Como os dados são armazenados no pequeno endian? No little endian, o byte menos significativo (o "pequeno fim") dos dados é armazenado primeiro, seguido pelos bytes mais significativos. Assim, por exemplo, o valor 1 seria armazenado como:
E o valor 256 seria armazenado como:

10000000 00000000

Este é o oposto do grande endian, onde o byte mais significativo é armazenado em primeiro lugar.

O Windows é grande ou pequeno endian? O Windows é um sistema operacional little-endian. Isto significa que quando armazenado na memória, o byte menos significativo (o "fim pequeno") de uma palavra está no endereço mais baixo, e o byte mais significativo (o "fim grande") está no endereço mais alto.

O que é endianness e por que é útil em computadores?

Endianness é a ordem em que os bytes são armazenados na memória. As duas ordens mais comuns são "big endian" e "little endian". No big endian, o byte mais significativo (o que tem mais peso em um valor multi-byte) é armazenado primeiro, enquanto no little endian, o byte menos significativo é armazenado primeiro.

Por exemplo, o valor 0x1234 seria armazenado como 0x12 0x34 no big endian, e 0x34 0x12 no little endian.

Endianness é útil em computadores porque permite que valores multi-byte sejam lidos e escritos em uma ordem consistente. Por exemplo, se um computador estiver usando o big endian, então um valor armazenado na memória como 0x12 0x34 pode ser lido como um valor de 16 bits (0x1234) sem ter que reverter a ordem dos bytes.

Quem usa big-endian?

O uso mais comum do big-endian é na ordem dos bytes de rede, o que especifica que o byte mais significativo (o "big end") de um valor multi-byte seja colocado em primeiro lugar. Por exemplo, o valor 0x1234 seria representado como 0x12 0x34 em ordem de byte de rede.

O que determina a endianness?

Endianness é uma característica de um circuito digital ou arquitetura de computador que define a ordem em que os valores digitais são armazenados na memória. As ordens mais comuns são little-endian e big-endian. Em um sistema little-endian, o byte menos significativo (o "fim pequeno") de um valor multibyte é armazenado primeiro, enquanto em um sistema big-endian, o byte mais significativo é armazenado primeiro.

O endianismo é determinado pelo design do hardware do circuito digital ou da arquitetura do computador. Não é algo que possa ser alterado no software.