Modo de tamaño de sistema Linux

  

modo big endian

El llamado modo big endian significa que los bits más bajos de los datos (es decir, los últimos bits con pesos más pequeños) se almacenan en la dirección alta de la memoria. El bit alto de los datos se almacena en la dirección baja de la memoria. Este modo de almacenamiento es similar al procesamiento de datos como una cadena: la dirección se incrementa de pequeña a grande, y los datos se colocan de alta a baja;

Modo Little Endian

El llamado modo Little Endian significa que los bits de datos inferiores se almacenan en la dirección inferior de la memoria, y los bits superiores de los datos se almacenan en la dirección superior de la memoria. Este modo de almacenamiento abordará la dirección y Los pesos de los bits de datos se combinan efectivamente, la parte de dirección alta tiene un peso alto y la parte de dirección baja tiene un peso bajo, lo que es consistente con nuestro método lógico.

¿Por qué hay un modo big endian?

¿Por qué hay un modo big endian? Esto se debe a que en un sistema informático, estamos en bytes, cada unidad de dirección corresponde a un byte, y un byte es de 8 bits. Sin embargo, además del carácter de 8 bits en el lenguaje C, hay un tipo corto de 16 bits, un tipo largo de 32 bits (según el compilador específico) y, para el procesador con más de 8 bits, por ejemplo, 16 bits o 32 bits. El procesador, dado que el ancho del registro es mayor que un byte, debe haber un problema de cómo organizar múltiples bytes. Como resultado, se genera el modo de almacenamiento big endian y el modo de almacenamiento little endian. Por ejemplo, un tipo corto de 16 bits x, la dirección en la memoria es 0x0010, y el valor de x es 0x1122, luego 0x11 es el byte alto y 0x22 es el byte bajo. Para el modo big endian, ponga 0x11 en la dirección baja, es decir, 0x0010, y 0x22 en la dirección alta, es decir, 0x0011. Modo Little endian, todo lo contrario. Nuestra arquitectura X86 utilizada comúnmente es el modo little endian, mientras que el KEIL C51 es el modo big endian. Muchos ARM y DSP están en modo little endian. Algunos procesadores ARM también pueden seleccionarse por hardware para ser big endian o little endian.

Prueba:

#include < stdio.h >

#include < sys /types >

main ()

{

int x = 0x12345678; /* 305419896 * /

caracteres sin signo * p = (char *) &x;

printf ("% 0x% 0x% 0x% 0x ", xp [0], xp [1], xp [2], xp [3]);

}

Salida: 78 56 34 12

La descripción es poco final! Al revés es big endian

Copyright © Conocimiento de Windows All Rights Reserved