Desde una perspectiva de hardware, una máquina de 64 bits puede hacer operaciones aritméticas en enteros de 64 bits con alto rendimiento, y generalmente tiene direcciones virtuales que son más anchas que 32 bits.
Desde una perspectiva de software, lo importante es el modelo de programación. Eche un vistazo a los MODELOS DE PROGRAMACIÓN DE 64 BITS para obtener más detalles, pero la mayoría de los modelos de programación de “32 bits” se denominan ILP32, con los tipos de datos para entero, entero largo y puntero, todos de 32 bits. A veces, el entero largo es 64 bits.
Hay dos modelos principales de programación de 64 bits: LP64 e ILP64. En LP64, “entero” es de 32 bits, pero el entero largo y el puntero son de 64 bits. En ILP64, los tres son de 64 bits.
- ¿Qué computadoras portátiles son más adecuadas para los estudiantes de CS?
- ¿Cuáles son las buenas técnicas para el modelado y simulación basados en agentes?
- Cómo romper la seguridad del sistema operativo utilizando hardware
- ¿Qué hay de nuevo en la tecnología informática?
- ¿Por qué el problema de detención es difícil en np?
La historia aquí es que el lenguaje de programación C tiene una regla que establece que el tipo de datos para el puntero debe ser del mismo tamaño que el tipo de datos para un entero largo.
Cuando, por ejemplo, Microsoft dice que tienen un sistema operativo de “64 bits”, lo que quieren decir es que admiten un modelo de programación de 64 bits para programas de usuario.
Cuando estoy teniendo cuidado con los tamaños, que es casi siempre, uso los tipos en stdint.h, como uint64_t, para asegurarme de obtener lo que quiero.