java 浮點型別

2021-08-26 14:51:13 字數 624 閱讀 3380

用於表示溢位和出錯情況的三個特殊的浮點數值 :

• 正無窮大

• 負無窮大

• nan( 不是乙個數字 )

例如 , 一 浮點型(double,float)除以 0 的結果為正無窮大 。 

system.out.println(1.0f/0);  結果為 infinity

浮點數值不適用於無法接受捨入誤差的金融計算中 。 例如 , 命令 system . out . println( 2.0 - 1.1 )

將列印出 0.8999999999999999 , 而不是人們想象的 0.9。

這種捨入誤差的主要原因是浮點數值採用二進位制系統表示 , 而在二進位制系統中無法精確地表示分數 1 / 10。  如果在數值計算中不允許有任何捨入誤差 ,就應該使用 bigdecimal類 。

十進位制小數換二進位制的規則是:乘2取整,然後將得到的整數總分順序排列(無需反序),再用結果的小數部分乘2,還用上述規則直到小數部分為0時或者達到需要的精度時為止。

二進位制的0.8125

0.8125×2=1.625是1

0.625×2=1.25是1

0.25×2=0.5是0

0.5×2=1是1

也就是說,0.8125的二進位制數是0.1101。

浮點型別深談

1 編寫本文目的 浮點運算已屬常用,但仍有深究必要,以消除其中可能的錯誤使用。2 預期讀者 4 正文 float格式簡談 inter 80386 80387 及以上型號cpu有三種浮點型別,即短實數 長實數和80位臨時實數,分別占用4位元組 8位元組和10位元組,對應著c c 中的float dou...

浮點列型別

對於浮點列型別,在mysql中單精度值使用4個位元組,雙精度值使用8個位元組。float型別用於表示近似數值資料型別。sql標準允許在關鍵字float後面的括號內選擇用位指定精度 但不能為指數範圍 mysql還支援可選的只用於確定儲存大小的精度規定。0到23的精度對應float列的4位元組單精度。2...

002 浮點型別

浮點型別表示數字包含小數部分。共兩種浮點型別 型別儲存要求 表示範圍 float 4 byte 大約 3.40282347e 38f 有效小數字數6 7位 double 8 byte 大約 1.79769313486231570e 308 有效小數為15位 double的數字的精度是float的兩倍...