84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
譬如把float類型的2.0000000000轉化為int,底層儲存的應該是1.999999999999999這樣的吧,有精度限制的,所以當我把這個數轉int的時候,覺得會變成1(丟棄小數部分了) 但測試了幾種語言,都還是正確的(php,java,go,js)php:js:
#go:
#java:
2.0是可以被浮點數精確表達的 這個數字不應該出問題
2.0
小數的存儲用科學記數法存儲,並不是1.999999...,在強轉的過程中是做處理的,不是直接轉換個類型
一般來說都是低精度轉高精度,例如int->float,高精度轉低精度,是要丟失精度,數據結果可能會變得很詔異的。
幾個經典的例子
(int)(0.57 * 100)
(int)((0.1+0.7)*10)
沒啥太實際的意義,假如真的是你這樣想的情況運作的話,設計這門語言的人肯定會考慮到的
具體了解需要一定的彙編原理,所以不要太鑽牛角尖啦
可以問一下,你這個程式面板是哪裡下載的嗎?好像不錯
2.0
是可以被浮點數精確表達的 這個數字不應該出問題小數的存儲用科學記數法存儲,並不是1.999999...,在強轉的過程中是做處理的,不是直接轉換個類型
一般來說都是低精度轉高精度,例如int->float,高精度轉低精度,是要丟失精度,數據結果可能會變得很詔異的。
幾個經典的例子
(int)(0.57 * 100)
(int)((0.1+0.7)*10)
沒啥太實際的意義,假如真的是你這樣想的情況運作的話,設計這門語言的人肯定會考慮到的
具體了解需要一定的彙編原理,所以不要太鑽牛角尖啦
可以問一下,你這個程式面板是哪裡下載的嗎?好像不錯