Endianness

Endianness é um termo da ciência da computação que descreve como os dados são armazenados. Especificamente, ele define qual extremidade de um tipo de dado de vários bytes contém os valores mais significativos. Os dois tipos de endianness são big-endian e little-endian.

Big-Endian

Big-endian é a maneira mais comum de armazenar dados binários. Ele coloca primeiro o valor mais significativo (ou maior), seguido pelos valores menos significativos. Por exemplo, a representação big-endian do inteiro 123 coloca primeiro o valor das centenas (1), seguido pelo valor das dezenas (2) e depois pelo valor das unidades (3), ou [123].

Little-Endian

Little-endian armazena primeiro o valor menos significativo, seguido por valores cada vez mais significativos. Por exemplo, o número 123 na notação little-endian é [321]. A string de texto "ABC" é representada como [CBA].

Conversão de endianness

Na maioria dos casos, os desenvolvedores não precisam especificar o endianness, pois o compilador gera o tipo correto de dados para uma plataforma específica. No entanto, um programa pode precisar processar dados de entrada externos, como um formato de arquivo que armazena dados com um endianness diferente. Nesse caso, os dados precisam ser convertidos de little-endian para big-endian ou vice-versa.

Converter o endianness não é tão simples quanto inverter os dados. Os bytes, e não os bits, precisam ser invertidos. Em outras palavras, cada byte (ou bloco de oito bits) deve permanecer igual, mas a ordem dos bytes é alterada. Isso pode ser explicado usando a representação hexadecimal ou binária dos dados.

Por exemplo, o inteiro 41.394 é representado na notação big-endian como:

hexadecimal: A1B2
binário: 1010000110110010

Converter esses dados para little-endian não inverte os dados, mas sim os bytes individuais dentro dos dados. O hexadecimal usa dois dígitos para representar cada byte – [A1][B2], enquanto o binário usa oito dígitos – [10100001][10110010].

Portanto, a representação little-endian de 41.394 é:

hexadecimal: B2A1
binário: 1011001010100001

NOTE: Alguns processadores podem buscar dados como big-endian ou little-endian sem que seja necessária conversão. Isso é chamado de acesso a dados bi-endian.

Atualizado September 27, 2019 por Per C.

quizTeste seus conhecimentos

How many bits does a VPI header in an ATM cell contain?

A
8
0%
B
10
0%
C
16
0%
D
24
0%
Correct! Incorrect!     View the VPI definition.
More Quizzes →

O dicionário de informática Tech Terms

A definição de Endianness nesta página é uma definição original escrita pelos autores do TechTerms.com. Se você quiser fazer referência a esta página ou citar esta definição, use a barra de citação verde logo abaixo da definição.

Nosso objetivo é explicar a terminologia de informática de um jeito fácil de entender. Buscamos precisão e clareza em cada definição que publicamos. Se você tiver comentários sobre esta definição ou quiser sugerir um novo termo técnico, entre em contato.

A newsletter do Tech Terms

Amplie seus conhecimentos técnicos com nossa newsletter diária ou semanal! Assine hoje e receba novos termos e quizzes na sua caixa de entrada.

Assine a newsletter gratuita do TechTerms

Com que frequência você gostaria de receber um e-mail?

Você pode cancelar a assinatura ou alterar a frequência a qualquer momento usando os links disponíveis em cada e-mail. Dúvidas? Entre em contato.

Observação: a newsletter é enviada em inglês.