亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

js小數(shù)相加問題?
看透不說透
看透不說透 2017-03-17 09:15:36
0
3
2405
console.log(0.1 + 0.2 == 0.3) // false
console.log(0.2 + 0.2 == 0.4)
console.log(0.1 + 0.3 == 0.4)
console.log(0.13 + 0.2 == 0.33)
console.log(0.3 + 0.4 == 0.7)
console.log(1.1 + 0.2 == 1.3)

以上代碼為什么只有第一條輸出false,而其他都是true ? 我知道 0.1 + 0.2 = 0.30000000000000004 ,但我想知道為什么。

看透不說透
看透不說透

reply all(3)
phpcn_u37517

I'll come and take a look

數(shù)據(jù)分析師

JS decimal addition problem? -PHP Chinese website Q&A-JS decimal addition problem? -PHP Chinese website Q&A

Let’s take a look and learn.

迷茫

假設(shè)十進(jìn)制數(shù)字為整數(shù)10,在計算機(jī)中表示方式為 : 1010,二進(jìn)制轉(zhuǎn)換十進(jìn)制的方法為:

1?*?2^3?+?0?*?2^2?+?1*?2^1?+?0*?2^0?=?10

即為:

8?+?0?+?2?+?0?=?10

那么小數(shù)的表示方法,假設(shè)10進(jìn)制數(shù)為0.5,在計算機(jī)中表示為0.1,因為計算機(jī)只有0和1這兩位,而換算方法為:

1?*?2^-1?=?0.5

同理可見計算機(jī)能表示的浮點數(shù)有哪些 :

0.5?=?1?*?2^-1
0.75?=?1?*?2^-1?+1?*?2^-2
0.25?=?0?*?2^-1?+1?*?2^-2
0.875?=?1?*?2^-1?+1?*?2^-2?+?1?*?2^-3
0.9375?=?1?*?2^-1?+1?*?2^-2?+?1?*?2^-3?+?1?*?2^-4

同理可見,0.2在計算機(jī)中表示為 :

0.00110011000110...

后續(xù)位數(shù)你可以自己算,所以在計算機(jī)中0.2的表示方法只是一個無線接近于0.2的小數(shù),但永遠(yuǎn)無法精確的表示出0.2,所以0.2 + 0.1 ≈ 0.3,而永遠(yuǎn)不會等于0.3


Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template