Entiendo que las computadoras representan números decimales usando binarios . Todavía tengo que absorber este video en cómo las computadoras agregan números , lo que parece útil.
Antes de entender eso, sin embargo, me gustaría comprender en un nivel profundo cómo una computadora almacena y representa un número (8 bits, 16 bits, 32, 64, 128, 256, no estoy seguro si pueden almacenar por encima de eso). Hay múltiples aspectos de esto:
- Cómo se almacena en el disco.
- Cómo se almacena en la memoria.
- Cómo se almacena en la CPU / ALU / etc. para usar para manipular / realizar cálculos.
No necesito saber todos los detalles, solo algo que me indique la dirección correcta / una descripción general. Entiendo un poco sobre chanclas , que almacenan 1 bit en la memoria principal . Solo me interesa aquí cómo se almacenan los números en la memoria y en la CPU / ALU, no en el disco. Pero si el disco es lo suficientemente simple, sería bueno saberlo.
En términos de memoria principal, tal vez haya 8/16/32 / etc. Las conexiones de flip-flops, o tal vez no, la memoria principal son solo bits y usted señala las ubicaciones en estos bits. Estoy pensando en términos de x86 mov
instrucción , por ejemplo, mov edx, [ebp + 8]
, que puede mover bits entre la memoria o entre la memoria y los registros.
En términos de la CPU / ALU, parece que simplemente se reduce a registros, por lo que los números estarían en los registros. Pero aquí hacen la distinción entre 8/16/32 / etc. los enteros de bits, así que quizás haya alguna estructura electrónica que implemente esto.
Por lo tanto, esta pregunta es acerca de cómo funcionan las siguientes funciones, a un alto nivel / descripción general:
- Cómo se almacenan / representan los enteros en la memoria principal de manera electrónica.
- Cómo se almacenan / representan los enteros en la CPU / ALU de forma electrónica.