ಠ_ಠ 囁く
1 years ago
來做個科普民調
民調一下多少人大致知道電腦算小數點會不準是怎麼回事 譬如問0.1+0.2是不是等於0.3電腦會說不是
latest #30
knight3110
1 years ago
為什麼啊
cow9003
1 years ago
資訊老師剛剛好提過
bee2828
1 years ago
本科 猜不到
現在還有不會算小數點的計算機嗎....
立即下載
ಠ_ಠ
1 years ago
很奇妙吧(??????)
cow9003
1 years ago
不過不知道為什麼
lizard3960
1 years ago
2進位的關係
0.1其實也不是我們認知的0.1
bee2828
1 years ago @Edit 1 years ago
(rofl)原來是問底層的問題嗎
現在除了特殊需求,一般沒有在用底層語言開發了吧
ಠ_ಠ
1 years ago
你用javascript寫0.1+0.2==0.3他也會輸出false喔
fairy8662
1 years ago
bee2828: 這不是底層的問題,是資料型態的問題
wasabi540
1 years ago
之前學前端學過js,很喜歡js的梗圖。
jay1773
1 years ago
本科,但我還真的不知道
jay1773
1 years ago @Edit 1 years ago
可能我是偏向infar類的ㄅ
lynx2134
1 years ago
計概學過 但是真的意識到也是某次數字太大直接擠到精度連個位數都沒有雷到自己才知道
bee2828
1 years ago @Edit 1 years ago
好像找到ㄌ 謝謝大家幫我複習(?JavaScript Numbers
bee2828
1 years ago
沒關係用到ㄉ時候自然會發現
viper1072
1 years ago
我也比較喜歡js 跟jk比起來
ಠ_ಠ
1 years ago
香香jk不好嗎
pita1654
1 years ago
我也是本科不知道 應該說就算曾經知道過也忘記了
fish6014
1 years ago
鼓勵大家使用decimal
nut9400
1 years ago
算錢用浮點 遲早被人扁
ಠ_ಠ
1 years ago
樓上wwwwwwwwwwwwwwwwwwwww
lynx2134
1 years ago
nut9400: 這個有聽過 wwwww
finch4440
1 years ago @Edit 1 years ago
nut9400 這句很常見 至少後端一定都聽過
kudu2791
1 years ago
真的有聽過XDD
還聽過用浮點數算出事的例子
ಠ_ಠ
1 years ago @Edit 1 years ago
感謝大家投票 來解說一下為什麼
大家都知道10進位表現不出三分之一 會變成0.33333333 這種無窮小數
跟這個其實是類似的狀況
電腦是二進位,二進位是這樣
0.1是二分之一
0.01是四分之一
0.001是八分之一
0.0001是十六分之一
(沒有0.2,0.2就進位變成1了)
到這邊為止用了四個位數,但要表示十進位的0.2,最接近的數字是八分之一加十六分之一
這樣只能逼近到0.1875 還有0.0125的誤差
ಠ_ಠ
1 years ago
可以繼續用更多位數增加精度,但繼續做下去也是除不盡

簡單說就是這樣
實際上浮點數還有冪次可以用會稍微再好一點,但還是會有很多除不盡的數存在
cow9003
1 years ago
因為10=5x2
所以1/10無法表示?
ಠ_ಠ
1 years ago
可以這麼說
但不一定要因數啦 像是0.625這種可以寫成1/2+1/8的也不會有精度問題
cow9003
1 years ago
懂了
cow9003
1 years ago
今天程式課教c++
浮點數32跟倍精浮點數128
back to top