[爆卦]c除法四捨五入是什麼?優點缺點精華區懶人包

為什麼這篇c除法四捨五入鄉民發文收入到精華區:因為在c除法四捨五入這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者bernachom (Terry)看板C_and_CPP標題[問題] C++ 小數點無條件進位時...



開發平台(Platform): (Ex: VC++, GCC, Linux, ...)

VC++ 2008

問題(Question):

我想要將小數點做無條件進位,例如:

10/3=4
10/6=2
10/7=2
10/8=2
10/9=2
....

不知道各位前輩有什麼想法?
我有想過說強制轉換的方式,doutble->int,不過總覺得應該不可行

所以想來問一下,有沒有什麼方式可以計算出來

謝謝幫忙

--
※ 發信站 :批踢踢實業坊(ptt.cc)
◆ From: 114.34.100.113
priv:ceil() 10/14 18:36
bernachom:我去查詢一下,謝謝幫忙 10/14 18:37
bernachom:感覺應該是可行的,我試試看,謝謝了 10/14 18:38
tropical72:脫褲子放屁法 : c=a/b+(a%b!=0) 10/14 18:42
bernachom:記下來了,感謝^_^ 10/14 18:48
x000032001:http://codepad.org/BCg7RV67 10/14 18:51
tropical72:不能直接加1,像 10/5 的話直接加就不對了. 10/14 18:55
x000032001:應該是這樣 耍蠢了 http://codepad.org/VSsAbCVr 10/14 18:57
uranusjr:int ceil(double d) { return int(d + 0.5); } 10/14 21:51
uranusjr:不是這樣就好了嗎? 10/14 21:51
priv:你那個是四捨五入吧… 10/14 22:22
tropical72:請考慮溢位情況... 10/14 23:41
x000032001:orz 不然用bit運算跑好了 10/15 00:17
uranusjr:啊對後, 腦子昏了XD 10/15 01:13
uranusjr:轉整數和浮點數比的狀況也要考慮表示法誤差的問題... 10/15 01:17
tropical72:最大問題是.. double x=1.23E20 , 壓根兒轉不過去. 10/15 01:43
tropical72:當然可說我是吹毛求疪,只是表達,簡單的math.h並不簡單. 10/15 01:43
scarsnight:如果兩整數相除,用t大的方法會比較好! 10/15 13:11
chubiei:c = (a+b)/b 10/16 21:55
tropical72:c=(a+b)/b; 和用加法做 swap 一樣的有溢位風險。 10/16 22:13

你可能也想看看

搜尋相關網站