1. 程式人生 > >關於java中float和int 精度和範圍的問題

關於java中float和int 精度和範圍的問題

曾經和同學討論過,java中float和int之間的轉化關係,在之前片面的學習java基礎時感覺int型別不如float型別的精度高,原因是float可以表示小數,而int只能表示整數。

後來翻書時突然發現並不是這樣(java核心程式設計卷P(43)):例123456789是一個比較大的int型整數,它轉float時結果大小相同,但因為int表示的位數(32位)比float表示的位數(32-1(符號位)-8(指數位)=23位)多,所以int精度比float精度大,在int轉float時可能丟失精度,而float因為有8位指數位,所以float儲存的數值最大值高於int.