Red de conocimiento informático - Aprendizaje de programación - ¿Int y long int tienen el mismo número de bytes?

¿Int y long int tienen el mismo número de bytes?

En C/C++, el número de bytes para int e int largo depende del compilador.

Pero ahora, los compiladores más comunes piensan que int y long int son lo mismo, ambos tienen 4 bytes, short tiene 2 bytes y char tiene 1 byte.

Si ingresa solo int, es posible incluir los tres formularios.

La situación es diferente en diferentes idiomas. Por ejemplo, en el lenguaje Pascal, el número entero es de 2 bytes, el byte es de 1 byte y el entero largo es de 4 bytes.

Se recomienda consultar la ayuda específica del compilador para obtener información más precisa.

Es mejor comprobar cómo su compilador actual define sizeof(int) antes de usarlo.

Dependiendo del compilador del programa, el número de bytes definidos por int también es diferente. (El tamaño de la memoria interna ocupada por los datos es diferente)

Compiladores de microcontroladores de uso común, como el microcontrolador tipo 51 en KEIL. En lenguaje C, int representa 2 bytes (16 bits); es un procesamiento de RAM de 32 bits En lenguaje C, int representa 4 bytes (32 bits)

Microcontrolador PIC El microcontrolador de la serie de 8 bits en PICC representa 16 bits en lenguaje C.

Muchos compiladores de software para PC definirán int como 8 bytes (64 bits) según el sistema operativo o procesador (como XP de 64 bits)

Por lo tanto, en múltiples plataformas Programadores hay que tener cuidado al usarlo.

Si necesita definir un número de 16 bits, puede utilizar una definición corta (corto, tipo entero corto).

Extensión:

En una computadora típica, int ocupa 4 bytes, 32 bits y el rango de datos es -2147483648~2147483647[-2^31~2^31-1] .

En las microcomputadoras anteriores, int ocupaba 2 bytes, 16 bits y el rango de datos era -32768~32767 [-2^15~2^15-1].

Utilice printf para generar el número de bytes ocupados por int:

Además del tipo int, existen tipos short, long y long long para representar números enteros.

unsigned int representa un entero sin signo en el rango de datos [0~2^32-1].

Enlace de referencia: INT (tipo de datos)_Enciclopedia Baidu