[Java lista] ket alap kerdes

Fisha fisha at freemail.hu
2007. Feb. 14., Sze, 09:06:08 CET


Hello!

Ez rendben is van, de mi okozza a kulonbseget ezek kozt az esetek
kozt:

double a = 2.36;
double b = 2.36f;
float d = 2.36f;

eredmeny:
2.36
2.359999895095825  (ez ugy tunik, hogy valamitol meg fugg is, hogy
merre kerekedik, mert egy masik gepen probalva mast adott)
2.36 

Koszi mindenkinek a segitseget,
Fisha                            mailto:fisha at freemail.hu

>   Hali!

>>1. Szamabrezolosdi:
>>
>>a kod:
>>double i = 2.65f;
>>System.out.println(i);
>>
>>az eredmeny:
>>2.6500000953674316
>>
>>Gondolom, hogy a binaris abrazolas pontatlansagabol ered a problema.
>>De orulnek, ha valaki pontosan le tudna irni, hogy mi is tortenik a
>>hatterben valojaban.

> Semmi nem tortenik :). Kettes szamrendszerben a tort helyiertekek ugye
> ugy
> neznek ki, hogy 1/2 1/4 1/8 1/16, stb. Ezeknek az osszegebol kene
> osszerakni
> a tortetedet, es azt pont nem lehet. (Ahogy mondjuk a 0.1-et sem. Vagy
> az 1/3-ot
> 10-es szamrendszerben, pedig 3-asban sima ugy :) )

> http://en.wikipedia.org/wiki/IEEE_754

>   Ba'ly,
>     Atleta



További információk a(z) Javalist levelezőlistáról