CPP {小数取整(上取整|向零取整|下取整), std::floor, ceil}
小数取整(上取整|向零取整|下取整)
定義
對於實數x
, 令D: <x的最大整數; U: >x的最小整數
, 令整數y: x取整后的結果
;
@IF(x為整數
): y = x
;
@ELSE: 上取整y = U
, 下取整y = D
, 向零取整y = (x>0 ? 下取整 : 上取整)
;
錯誤
整数除法a/b
求他的上取整, 我们知道有一个公式(a+(b-1))/b
, 但其实 他是有局限性的, 他只适用于a,b都是>0
的情况;
比如-2/-2 = 1
如果你使用这个公式 会得到-5/-2
这是错误的 (不管/
是什么取整);
@DELI;
取整的對象 是單個實數 而不是除號, 換句話説 ?取整除法這種説法 本身就是錯誤的;
比如對於 A = B /