Foro de elhacker.net

Foros Generales => Foro Libre => Mensaje iniciado por: danielo- en 16 Septiembre 2010, 01:27 am



Título: ¿Cual es el limite de un numero con punto flotante (en programacion)?
Publicado por: danielo- en 16 Septiembre 2010, 01:27 am
Pues si, esta pregunta me surgio cuando hacia una tarea de programación, es decir, los int tienen un limite (hablando que es un int de 32 bits) pues sus limites serían
2^31-1
-2^31

pero y si se trata de un float??? de 32 bits??? que norma siguen para establecer los limites? y es que estado buscando por la red y hay varias explicaciones, pero aun así no las entiendo, si alguno de ustedes sabe, me gustaria que me explicaran si?  ;-)
Saludos!


Título: Re: ¿Cual es el limite de un numero con punto flotante (en programacion)?
Publicado por: Franki en 16 Septiembre 2010, 01:38 am
Depende de la plataforma y de la arquitectura.

Por ejemplo, en Java, al ser multiplataforma el tamaño de los datos primitivos es constante entre sistemas operativos y arquitecturas. Un int tiene 32 bits, un double 64.

Si lo que quieres saber es en C o C++ ahí cambia la cosa, ya que depende sobre todo del S.O y de la arquitectora, si es x86 o otra.


Título: Re: ¿Cual es el limite de un numero con punto flotante (en programacion)?
Publicado por: danielo- en 16 Septiembre 2010, 01:41 am
Depende de la plataforma y de la arquitectura.

Por ejemplo, en Java, al ser multiplataforma el tamaño de los datos primitivos es constante entre sistemas operativos y arquitecturas. Un int tiene 32 bits, un double 64.

Si lo que quieres saber es en C o C++ ahí cambia la cosa, ya que depende sobre todo del S.O y de la arquitectora, si es x86 o otra.
Si si, ya se que ocupa el mismo espacio, lo que trato de saber cual es el numero máximo que se puede representar


Título: Re: ¿Cual es el limite de un numero con punto flotante (en programacion)?
Publicado por: Lunfardo en 16 Septiembre 2010, 01:48 am
http://es.wikipedia.org/wiki/Coma_flotante ¬¬

esto deberia ir a en programacion general , igualmente.


     Tipo      Tamaño                Rango                               
                 ------------------------------------------------------
                   float     4 bytes (32 bits)     3,4e-038..3,4e+038
                   double    8 bytes (64 bits)     1,7e-308..1,7e+308


"e+"= "diez a la "


Título: Re: ¿Cual es el limite de un numero con punto flotante (en programacion)?
Publicado por: Franki en 16 Septiembre 2010, 01:49 am
En JAVA:

- BYTE:
MAX: 2^7-1
MIN: -2^7

- SHORT:
MAX: 2^15-1
MIN: -2^15

- INT:
MAX: 2^31-1
MIN: -2^31

- LONG:
MAX: 2^63-1
MIN: -26^3

- FLOAT:
MAX: (2-2^-23)*2^127.
MIN: 2^-126

- DOUBLE:
MAX:(2-2^-52)*2^1023
MIN:2^-1022



EDITO: La lógica que sigue es la siguiente:

Si tienes un byte pues puedes representar números hasta de 8 bits. Es decir del 0 al 256. Pero si tienes que repsentar tambien numeros negativos, pues lo tendras que partir en dos. Asi que 2^8/2 = 2^7

Es decir de -2^7 que es -128 a 2^7 que es 128, pero el 0 esta por ahi y tambien se cuenta, así que restas uno a 128 y te queda: 2^7-1

Asi la misma lógiga para 8bits/16bits/32bits/64bits