討論串[語法] 在寫程式時 遇到將浮點數轉換成整數的問題
共 7 篇文章
首頁
上一頁
1
2
下一頁
尾頁

推噓22(22推 0噓 38→)留言60則,0人參與, 最新作者holymars時間16年前 (2009/09/16 10:49), 編輯資訊
0
0
1
內容預覽:
考慮一下float的格式就知道這種事不會發生. float的數字都能表達成 (M) * 2^N 這種格式. 單精度的話M由23個bit組成. 如果N >=0 float一定是個整數 回傳值沒有誤差問題. 如果N <= -23 float一定是個0~1中間的數 回傳值也不會有誤差問題. 如果N是-1~
(還有56個字)

推噓4(4推 0噓 2→)留言6則,0人參與, 最新作者cismjmgoshr (--???--)時間16年前 (2009/09/16 09:12), 編輯資訊
0
0
0
內容預覽:
我也想問個問題. 將一個浮點數變數強制轉型成整數時,小數部份會發生怎麼事?. 無條件捨棄?無條件進位?四捨五入?. 我用我自己的電腦跑的結果是無條件捨棄. (CPU是Intel的,OS用Windows XP,compiler則是Dev-C). 這個是取決於CPU的指令集設計? 或是編譯器的實作問題?

推噓0(0推 0噓 3→)留言3則,0人參與, 最新作者LPH66 ((short)(-15074))時間16年前 (2009/09/16 04:15), 編輯資訊
0
0
1
內容預覽:
看來你們那邊已經達成共識了. 我講一下我在 sunneo 那篇的推文提到的兩件事. 首先是 t 的計算. C/C++ 不是像 excel 那種你先打好公式等數字進來後自動會算. 而是你說一動他做一動 你要它現在算什麼它現在就算什麼. 不會等一下等數字到了才去算. 所以你可能需要移動一下那行 t=..
(還有127個字)

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者duv (duv)時間16年前 (2009/09/15 22:54), 編輯資訊
0
0
0
內容預覽:
那1.850公里減掉基本運費的里程數(1.5公里)為. 1.85-1.5=0.35(公里). 又因為每0.3公里加收五元(不足0.3公里以0.3公里計). 而(0.35/0.3)*5=1.1666666... .. 這裡是 1.1666666個 0.3公里,他確實>=1,因此滿足`0.3公里的條件`
(還有878個字)

推噓2(2推 0噓 4→)留言6則,0人參與, 最新作者pttfly (如果)時間16年前 (2009/09/15 22:17), 編輯資訊
0
0
0
內容預覽:
我用C寫的. --. #include <stdio.h>. #include <stdlib.h>. #include <math.h>. int main(). {. float kilometer;. int fare;. printf("請輸入里程(公里)[可輸入至小數點第三位的數字]:")
(還有151個字)
首頁
上一頁
1
2
下一頁
尾頁