O pedido está dentro de um byte como "big-endian"?

0

No wiki, "big-endian" refere-se à ordem de armazenamento de vários bytes.

E um byte consiste em 8 bits, também é importante observar a ordem desses bits.

Eu fiz dd if=/dev/sda count=1 | xxd -be descobri que os bytes são armazenados na direção crescente oposta do endereço:

01100011 (o endereço inferior está à esquerda, enquanto esse byte é caractere ascii'c ') Parece ser um "big endian" em nível de bit.

como explicar esse fenômeno estranho?

Determinante
fonte
por que isso é um fenômeno? seria isso ou aquilo ao contrário. E dado que c é ascii 99 e os números são (suponho) lidos big endian, então é mais fácil assim. Por que o big endian seria mais um fenômeno do que o little endian? Eu acho que é confuso se os bytes estão na ordem oposta, embora seja possível. . mas você não mostrou uma pasta que mostra isso.
barlop

Respostas:

3

xxdtransforma cada byte lê-se em um {hexadecimal, binário, octal} número e impressões que, não uma representação de como disse byte foi representado na memória ou em outro lugar. Todos os esquemas de escrita de números com os quais estou familiarizado são big-endian, e é isso que você recebe.

Eroen
fonte
4

Os bits são apresentados apenas em uma ordem para exibição. Eles não são armazenados em nenhuma ordem específica dentro do computador. A exceção seria casos em que os bits são endereçáveis ​​individualmente dentro do processador. Em todos esses casos, 0 refere-se ao bit menos significativo.

Como os xxdbits de exibição não tem nada a ver com a maneira como eles são armazenados.

David Schwartz
fonte