[C con Clase] cantidad de valores almacenada en cada tipo de variable

Mariano Demarchi marchi.hh en gmail.com
Mar Dic 8 19:36:07 CET 2009


El valor máximo para tipos enteros sin signo es 2^(n)-1. Cuando se tiene un
entero con signo, se pueden guardar valores entre 2^(n-1)-1 y -2^(n-1).
En ambos casos, n es la cantidad de bits de que se usan para el tipo de
datos. Este valor puede cambiar entre plataformas pero lo podés obtener
multiplicando por 8 a sizeof(tipovar). Por ejemplo ejecuta
printf("%d\n",sizeof(int)*8);

En cuanto a los tipos racionales (float, double), el rango no lo recuerdo,
dependía de cuantos bits se asignaban a la mantisa y al exponente, pero el
error que te aparece es por que por defecto un numero como el que escribiste
se considera int, entonces como la constante es int y le estas dando un
valor muy grande te tira el warning. Lo que deberías hacer es ponerlo como
12335544562123215.0 para el caso de los float y 15481846521L para los
enteros.


Saludos

El 8 de diciembre de 2009 14:57, Carlos Alberto Hinojosa <
registros.carloshinojosa en gmail.com> escribió:

> hola. en el maravilloso curso de c con clase, en el tema de los tipo de
> variables me han surgido varias preguntas:
>
> 1. ¿que cantidad de valores puedo almacenar en cada tipo de variables?
>
> cuando almaceno un numero como por ejemplo este 15481846521 en una variable
> int me sale el error:
>
>  integer constant is too large for ‘long’ type
>
> 2. en el curso me dicen que se puede almacenar numeros grandes con float
> pero cuando  almaceno el numero
> 12335544562123215 por ejemplo
>
> me sale el mismo error de arriba.
>
> gracias
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20091208/be86038f/attachment.html>


Más información sobre la lista de distribución Cconclase