使用int类型时为什么1/10返回0而1%10返回1?
整型下除法、取模运算结果的成因
- 整型
/运算的规则:当/运算符两端的操作数均为int类型时,默认执行向零截断的整数除法,仅保留商的整数部分,小数部分直接舍弃。数学上1÷10的结果为0.1,舍弃小数后得到整型结果0。 - 整型
%运算的规则:取模运算结果严格符合恒等式a = (a / b) * b + (a % b),代入数值计算即可推导出结果:
代入
a=1、b=10、a/b=0的已知条件:
1 = 0 * 10 + (1 % 10)
最终可算出1 % 10 = 1,和实际运行结果完全匹配。
内容的提问来源于stack exchange,提问作者Omar S
相关产品推荐
相关产品推荐

