Tecnología

Inicio

Tamaño GCC Int: 64 Bit vs. 32 Bit

procesadores de computadora se ha incrementado en complejidad y capacidad desde su invención, y los programadores informáticos han tenido que diseñar sus herramientas de desarrollo en torno a estos cambios. A medida que aumenta el tamaño de memoria, como en el paso de 32 bits para procesadores de 64 bits, los compiladores de edad y el código fuente debe ser actualizado para aprovechar todo el potencial de un procesador. Parte de esto se debe a la mayor espacio disponible para las variables de precisión o números, como los números enteros. La colección de compiladores de GNU, o GCC, no es una excepción. A pesar de que los programadores pueden modificar GCC para trabajar entre los sistemas de 32 bits y de 64 bits, el procesador de última instancia dicta qué tamaños de datos funcionan mejor en el código fuente.

Números enteros y Memoria

Al escribir código de computadora, que va a utilizar, inevitablemente, uno de los artefactos necesarios de programación: variables. Una de las principales variables disponibles en la mayoría de cada lenguaje de programación es el número entero. El número entero - un número decimal entero - representa una unidad numérica básica en forma decimal. Sin embargo, ya que las computadoras no se almacenan los valores numéricos internos como decimales sino como números binarios, las variables enteras residen en posiciones de memoria como cadenas de dígitos binarios. Estas cadenas binarias están sujetos a las limitaciones de la memoria del sistema y el número de dígitos binarios una ubicación de memoria puede contener.

CCG y el proceso de compilación

Al compilar un programa para un sistema Unix o Linux, es probable que utilice el compilador de GNU, GCC. El compilador GCC toma el código fuente y los compila en lenguaje ensamblador adecuado para el procesador central del sistema informático. Dependiendo del procesador y la aplicación de GCC disponible, el código de montaje puede tener un aspecto diferente entre máquinas similares. Parte del proceso de compilación, sin embargo, implica la gestión de tipos de datos en el código fuente dentro de la estructura de la arquitectura del procesador.

Los procesadores de 32 y 64 bits

La progresión de los tamaños de registro del procesador ha seguido un camino particular relacionado con la representación numérica binaria. Un registro en un procesador es una única ubicación de memoria dentro del procesador. Un equipo está limitado en la cantidad de memoria que puede tratar y el tamaño de los elementos de datos que puede almacenar. Un procesador de 32 bits tiene registros de 32 bits, lo que significa que puede almacenar objetos de hasta 2 ^ 32 bits de longitud. En términos decimales, un registro de 32 bits puede almacenar un número no negativo sin signo tan grande como 4,294,967,295. Registros con 64 bits de ampliar esta duplicando la cantidad de dígitos binarios disponibles para representar números.

CCG y Entero Tamaño

Por lo general, los compiladores están restringidos por los procesadores en los que se recopilan sus programas. Una versión de GCC compilación de programas en un procesador de 32 bits puede no necesariamente compilar un programa listo para el uso de 64 bits. Sin embargo, aunque un compilador, como GCC está limitada por su procesador, es la combinación de procesador y compilador que determina el tamaño de un número entero en un programa en particular. Por defecto, en C y C ++ de programación en un compilador GCC, un entero largo en un sistema de 32 bits es de 32 bits, mientras que un entero largo en un sistema de 64 bits es de 64 bits.