• Sábado 14 de Diciembre de 2024, 15:03

Autor Tema:  Variables Tipo Float Y Tipo Double  (Leído 3645 veces)

pingukapo

  • Miembro activo
  • **
  • Mensajes: 26
    • Ver Perfil
Variables Tipo Float Y Tipo Double
« en: Domingo 28 de Enero de 2007, 23:13 »
0
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!

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Variables Tipo Float Y Tipo Double
« Respuesta #1 en: Lunes 29 de Enero de 2007, 00:02 »
0
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

salu2

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Variables Tipo Float Y Tipo Double
« Respuesta #2 en: Lunes 29 de Enero de 2007, 00:06 »
0
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.  

bob esponja

  • Miembro MUY activo
  • ***
  • Mensajes: 411
    • Ver Perfil
    • http://marianoguerra.blogspot.com
Re: Variables Tipo Float Y Tipo Double
« Respuesta #3 en: Lunes 29 de Enero de 2007, 00:07 »
0
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.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Variables Tipo Float Y Tipo Double
« Respuesta #4 en: Lunes 29 de Enero de 2007, 14:39 »
0
depende de la plataforma un entero podria ser de 16 en otra de 32 o en otra de 64 bits etc.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

supermancito

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: Variables Tipo Float Y Tipo Double
« Respuesta #5 en: Jueves 1 de Febrero de 2007, 01:46 »
0
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:
C:\Documents and Settings\Administrador\Mis documentos

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Variables Tipo Float Y Tipo Double
« Respuesta #6 en: Jueves 1 de Febrero de 2007, 14:24 »
0
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.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io