SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: pingukapo en Domingo 28 de Enero de 2007, 23:13

Título: Variables Tipo Float Y Tipo Double
Publicado por: pingukapo en Domingo 28 de Enero de 2007, 23:13
pos resulta que segun lei almacenan ademas de numeros enteros tambien numeros decimales, pero no entiendo esa E que tienen, ademas me gustaria saber cual es la diferencia que tienen estas 2 variables y cuanto pesan, gracias!
Título: Re: Variables Tipo Float Y Tipo Double
Publicado por: Diodo en Lunes 29 de Enero de 2007, 00:02
Citar
pos resulta que segun lei almacenan ademas de numeros enteros tambien numeros decimales, pero no entiendo esa E que tienen

Almacenan numeros de coma flotante, de ahi esa E ,que es una exponenciacion en base 10, por ejemplo

1.0E2 = 100
1.0E-2 = 0.01

Citar
ademas me gustaria saber cual es la diferencia que tienen estas 2 variables y cuanto pesan, gracias!

La diferencia es la precision

un float = 32bits -> 1.18e-38 <= |X| <= 3.40e38            
un double = 64bits -> 2.23e-308 <= |X| <= 1.79e308      

Mas informacion aqui:

http://www.zator.com/Cpp/E2_2_4.htm (http://www.zator.com/Cpp/E2_2_4.htm)

salu2
Título: Re: Variables Tipo Float Y Tipo Double
Publicado por: bob esponja en Lunes 29 de Enero de 2007, 00:06
la E significa por 10 a la...

osea que 1E2 es 1 por 10 elevado a la 2
(si mal no recuerdo)

double es mas precisa que float, pero para la mayoria de los mortales con float sirve
a menos que estes haciendo calculos muy precisos.

sobre cuanto pesan, como dijo Eternal Idol, es dependiente de plataforma, lo obvio
es que double pesa mas que float.

para evitarte este tema de cuanto pesan tenes la funcion sizeof

Código: Text
  1. #include &#60;stdio.h&#62;
  2.  
  3. int main()
  4. {
  5.     printf( &#34;tamaño de int: %d&#092;n&#34;, sizeof( int ) );
  6.     printf( &#34;tamaño de float: %d&#092;n&#34;, sizeof( float ) );
  7.     printf( &#34;tamaño de short: %d&#092;n&#34;, sizeof( short ) );
  8.     printf( &#34;tamaño de double: %d&#092;n&#34;, sizeof( double ) );
  9.     printf( &#34;tamaño de long: %d&#092;n&#34;, sizeof( long ) );
  10.     return 0;
  11. }
  12.  
  13.  
Título: Re: Variables Tipo Float Y Tipo Double
Publicado por: bob esponja en Lunes 29 de Enero de 2007, 00:07
Citar
tamaño de int: 4
tamaño de float: 4
tamaño de short: 2
tamaño de double: 8
tamaño de long: 4

esto salio en mi linux.
Título: Re: Variables Tipo Float Y Tipo Double
Publicado por: JuanK en Lunes 29 de Enero de 2007, 14:39
depende de la plataforma un entero podria ser de 16 en otra de 32 o en otra de 64 bits etc.
Título: Re: Variables Tipo Float Y Tipo Double
Publicado por: supermancito en Jueves 1 de Febrero de 2007, 01:46
Citar
ademas me gustaria saber cual es la diferencia que tienen estas 2 variables y cuanto pesan, gracias!

creo que:

float  utiliza numeros de 8 digitos

double utiliza numeos de 16 digitos

si es que estoy mal porfa corrijanme  :hola:  :hola:  :hola:
Título: Re: Variables Tipo Float Y Tipo Double
Publicado por: JuanK en Jueves 1 de Febrero de 2007, 14:24
El tipo float necesita 4 bytes para ser almacenado uno para el exponente y tres para el valor del número. Es un tipo de precisión simple y no tiene más de 7 dígitos significativos.

El tipo double utiliza 32 bits para almacenar un número en punto flotante. Se usan 8 bits para expresar  el valor del exponente y su signo y 24 bits para representar la parte no exponencial. Es un tipo de precisión doble tiene hasta 16 dígitos significativos.