miércoles, 10 de noviembre de 2010

Tamaño de los tipos base

A veces, sobre todo cuando se programa a bajo nivel, importa saber cuál es el tamaño de los tipos base de un sistema. Para ello, podemos hacer un pequeño programa en C:


#include
#include
int main(int argc, char* argv[])
{
printf("Platform v1.0 (c) 2010 Arnau Oncins Rodríguez\n\n");

// Tamaños de tipos
printf("Tamaños de tipos: \n");
printf("\tTamaño de long: %ld \n", sizeof(long));
printf("\tTamaño de int: %ld \n", sizeof(int));
printf("\tTamaño de short: %ld \n", sizeof(short));
printf("\tTamaño de long long: %ld \n", sizeof(long long));
printf("\tTamaño de char: %ld \n", sizeof(char));
printf("\tTamaño de unsigned int: %ld \n", sizeof(unsigned int));
printf("\tTamaño de unsigned long: %ld \n", sizeof(unsigned long));
printf("\tTamaño de float: %ld \n", sizeof(float));
printf("\tTamaño de double: %ld \n", sizeof(double));

// Rangos de valores
printf("\nMáximos y mínimos: \n");
printf("\tint: [ %d , %d ] \n", INT_MIN, INT_MAX);
printf("\tlong: [ %ld , %ld ] \n", LONG_MIN, LONG_MAX);

return 0;
}


Este código mostrará por pantalla algo parecido a ésto:

nauar@tulkass:~$ ./platform
Platform v1.0 (c) 2010 Arnau Oncins Rodríguez

Tamaños de tipos:
Tamaño de long: 8
Tamaño de int: 4
Tamaño de short: 2
Tamaño de long long: 8
Tamaño de char: 1
Tamaño de unsigned int: 4
Tamaño de unsigned long: 8
Tamaño de float: 4
Tamaño de double: 8

Máximos y mínimos:
int: [ -2147483648 , 2147483647 ]
long: [ -9223372036854775808 , 9223372036854775807 ]


Como podéis observar, con este sencillo código ya podemos ver cuántos bytes ocupan los tipos base de un sistema.

Bienvenida

Hola a tod@s y bienvenid@s a mi blog. Me llamo Arnau, tengo 28 años, soy ingeniero superior en informática y pretendo tratar temas de informática de cualquier ámbito. "Cutreconlogía" no es un blog que se vaya a actualizar muy a menudo. Es más, lo usaré más bien a modo de cuadernillo, como los estudiantes que van a clase, para tomar nota de las distintas tecnologías y metodologías que aprendo en esta rama. Sentiros libres de comentar, leer y corregirme, aportaréis valor añadido y nos enriqueceremos todos.

La nave despega ya...