整數除法舍入方式:
整數相除涉及到舍入的問題,有這么四種舍入方式:向偶數舍入,向零舍入,向下舍入,向上舍入。
向偶數舍入:(也叫作最接近的值舍入) 值應該舍入到距離自己最近的數字。當值處於中間的時候,應該讓最低有效位保持偶數。所以,按照這種策略,1.4應該舍入到1,1.6應該舍入到2,只有在x.5的時候要考慮個位數保持偶數,比如1.5應該舍入到2, 2.5也應該舍入到2,因為2是偶數。
向零舍入: 很好理解,向靠近零的整數舍入。
向下舍入:也就是我們常說的向下取整 $\lfloor x \rfloor $
向上舍入:也就是向上取整 $\lceil x \rceil$
Java及c語言中的除法:
Java以及c語言當中的整數除法采用的是向0舍入的方式:
public class div { public static void main(String[] args){ int a = 3/2; //float除法應該為 1.5 int b = 5/3; //float除法應該為 1.666 int c = 5 /4; //~~~~~~~~~~~~ 1.25 int d = -3/2; //~~~~~~~~~~~~ -1.5 int e = -5/3; //~~~~~~~~~~~~~~ -1.66 int f = -5/4; //~~~~~~~~~~~~~~ -1.25 System.out.printf("a is %d\nb is %d\nc is %d\n" + "d is %d\ne is %d\nf is %d\n", a, b,c,d,e,f); } }
輸出結果為:
a is 1 b is 1 c is 1 d is -1 e is -1 f is -1
Python中的除法:
Python當中 '/'表示float除法, '//'是整數除法,遵循的原則是向下取整
a = 3//2 # 1.5 b = 5//3 # 1.66 c = 5//4 #1.25 d = -3//2 # -1.5 e = -5//3 # -1.66 f = -5//4 # -1.25 print(a,b,c) print(d,e,f)
結果為:
1 1 1 -2 -2 -2
'//'這種運算 可以使用 int(a//b)來轉化為向0取整。