Está en la página 1de 1

Cmo calcular el mximo valor que admite un tipo de datos

Lo primero que tenemos que conocer es el tamao en bytes de ese tipo de dato. Vamo
s a ver un ejemplo con el tipo INT. Hagamos el siguiente programa:
#include <stdio.h>
int main()
{
int num1;
printf( "El tipo int ocupa %i bytes\n", sizeof(int) );
}
Comprobado con DJGPP
En mi ordenador el resultado es:
El tipo int ocupa 4 bytes.
Como sabemos 1byte = 8bits. Por lo tanto el tipo int ocupa 4*8=32 bits.
Ahora para calcular el mximo nmero debemos elevar 2 al nmero de bits obtenido. En n
uestro ejemplo: 2^32=4.294.967.296. Es decir en un int se podra almacenar un nmero
entre 0 y 4.294.967.296.
Sin embargo esto slo es cierto si usamos un tipo unsigned (sin signo, se hace aadi
endo la palabra unsigned antes de int). Para los tipos normales tenemos que alma
cenar nmeros positivos y negativos. As que de los 4.294.967.296 posibles nmeros la
mitad sern positivos y la mitad negativos. Por lo tanto tenemos que dividir el nme
ro anterior entre 2 = 2.147.483.648. Como el 0 se considera positivo el rango de
nmeros posibles que se pueden almacenar en un int sera: -2.147.483.648 a 2.147.48
3.647.
Resumen:
Obtenemos el nmero de bytes.
Multiplicamos por ocho (ya lo tenemos en bits).
Elevamos 2 al nmero de bits.
Dividimos entre 2.

También podría gustarte