成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

java浮點數(shù)默認(rèn)類型 為何浮點數(shù)可能丟失精度?

為何浮點數(shù)可能丟失精度?并不是說Java浮點數(shù)的精度會丟失,而是存儲在二進(jìn)制中的所有浮點數(shù)都可能會丟失精度(有些特殊的十進(jìn)制值可以精確表示),所以存儲在計算機(jī)中的浮點數(shù)有丟失精度的風(fēng)險,但是丟失的精度

為何浮點數(shù)可能丟失精度?

并不是說Java浮點數(shù)的精度會丟失,而是存儲在二進(jìn)制中的所有浮點數(shù)都可能會丟失精度(有些特殊的十進(jìn)制值可以精確表示),所以存儲在計算機(jī)中的浮點數(shù)有丟失精度的風(fēng)險,但是丟失的精度不會影響我們的正常使用。當(dāng)小數(shù)轉(zhuǎn)換成二進(jìn)制時,它們不一定用精確的二進(jìn)制來表示,大多數(shù)情況下它們被當(dāng)作近似值,這會導(dǎo)致精度的損失。如果用二進(jìn)制進(jìn)行計算,顯然會進(jìn)一步損失計算結(jié)果的準(zhǔn)確性。舉個簡單的例子,0.1用二進(jìn)制表示(十進(jìn)制和二進(jìn)制轉(zhuǎn)換法)(1)0.1×2=0.2,0.0(2)0.2×2=0.4,0.00(3)0.4×2=0.8,0.000(4)0.8×2=1.6,0.0001(5)0.6×2=0.2,0.00011(6)0.2×2=0.4,0.000110(7)0.4×2=0.8取整數(shù)0得到0.0001100(8)0.8×2=1.6取整數(shù)1得到0.00011001(9)0.6x 2=1.2取整數(shù)1得到0.000110011(n)。。。得到一個無限循環(huán)的二進(jìn)制十進(jìn)制0.000110011沒有辦法用一個精確的二進(jìn)制來表示0.1。而且計算機(jī)中用來存儲浮點數(shù)的位數(shù)也是有限的,所以我們只能選擇以一定的精度保存。當(dāng)然,也有特殊的小數(shù),比如二進(jìn)制0.25就是0.01

Float占用4個字節(jié),精度為7位,而double占用8個字節(jié),精度為16位。但是,內(nèi)存消耗很大。如何使用取決于實際需要。如果你只是學(xué)習(xí)Java,你不需要深入了解它,以免陷入困境。如果你深入學(xué)習(xí),問問度娘。