Si 10101111 10001000 11001100 00001111 son los datos que se almacenarán en una computadora, ¿cómo se almacenarán? ¿Se almacenará de la misma manera que en todas las computadoras?

El valor de 32 bits 10101111 10001000 11001100 00001111 en binario se puede representar como 0xAF88CC0F en hexadecimal. Esto se puede almacenar internamente en la memoria de una de dos maneras: little-endian o big-endian.

En big-endian, lo que significa que el byte más significativo se almacena en la dirección más baja, los bytes individuales (0xAF, 0x88, 0xCC y 0x0F) se almacenan en la memoria en el mismo orden en que se leen, p. Ej.

  Dirección de byte
 00 01 02 03
 AF 88 CC 0F

(Estos ejemplos suponen bytes de 8 bits, que se usa casi universalmente en las computadoras en estos días, pero no siempre fue así).

En little-endian, lo que significa que el byte menos significativo se almacena en la dirección más baja, por lo que los bytes individuales (0xAF, 0x88, 0xCC y 0x0F) se almacenan en la memoria en el orden opuesto al que se leen, p. Ej.

  Dirección de byte
 00 01 02 03
 0F CC 88 AF

Los diseñadores de diferentes arquitecturas informáticas han elegido una u otra a lo largo de los años. Por ejemplo, Intel usa little-endian, mientras que Motorola (que se convirtió en Freescale, luego aún comprada por NXP) eligió usar big-endian en su microprocesador 68000.

Algunas arquitecturas, como ARM versión 3 y superior, pueden funcionar en cualquier modo, en función de una configuración de indicador.

Big-endian es el formato más común en redes de datos y se utiliza en protocolos como IPv4, IPv6, TCP y UDP.

Little-endian tiene la propiedad de que se puede leer el mismo valor de la memoria a diferentes longitudes sin usar diferentes direcciones. Por ejemplo, el valor de 32 bits 0x00000055, almacenado como

  Dirección de byte
 00 01 02 03
 55 00 00 00

en little-endian, puede leerse como un byte (8 bits), corto (16 bits) o largo (32 bits), todos comenzando en la dirección 0 y dando como resultado el mismo valor. La representación little endian también simplifica el hardware en procesadores de 8 bits que agregan valores integrales de varios bytes, un byte a la vez.

Los nombres “endianos” fueron tomados de la sátira de 1726 de Jonathan Swift, Los viajes de Gulliver.

Simplificaré un poco (¡ja!) …

Su número está compuesto de 32 bits. Cuando en la computadora su número puede ser

  1. en memoria (montón, pila)
  2. en un caché en la CPU
  3. en un registro de la CPU
  4. en la GPU
  5. en una llave USB
  6. en uno (o varios discos duros o SSD)
  7. en varios de ellos al mismo tiempo
  8. Probablemente olvide otros lugares …

Dependiendo de qué lugar sea, no necesariamente se almacenará de la misma manera. Por ejemplo, no sabe qué sistema de formato se utiliza en su SSD …

No se almacenará de la misma manera en todas las computadoras. Si las computadoras son del mismo tipo (misma CPU, misma arquitectura) y el mismo sistema operativo (mismo tamaño de palabra: 32, 64 bits, etc.), se almacenarán igual. Pero las computadoras pueden almacenar datos de diferentes maneras (ver Endianness – Wikipedia).

Los datos no tienen sentido per se . Lo que importa es el contexto en el que la CPU lo lee.

Has publicado una cadena de 32 bits. Esto podría ser una instrucción de 32 bits (como MOV EAX, EBX), o la dirección de un registro, o un valor que se almacenará en un registro.

En la codificación ASCII, los 32 bits significarían: », ê, ╠, Shift in (no es un carácter imprimible).

Por lo tanto, no hay una respuesta real a su pregunta.