网站后台登录代码,四川省凉亭建设工程有限公司网站,高端外贸网站建设,深圳手机网站定制开发C中的负数取余规则#xff08;取模%#xff09;规则
在C中#xff0c;取余运算#xff08; % #xff09;的结果符号与被除数相同。从数学定义角度看#xff0c;C遵循的是尽量让商向零取整的规则。例如计算 -7/3#xff0c;商是 -2 #xff08;向零取整#xff09;中的负数取余规则取模%规则
在C中取余运算 % 的结果符号与被除数相同。从数学定义角度看C遵循的是尽量让商向零取整的规则。例如计算 -7/3商是 -2 向零取整然后根据公式被除数 除数×商余数 来计算余数即 -7 3×(-2)(-1) 所以余数为 -1 。
cout7%3endl; // 1 73*21余数是1
cout7%-3endl; // 1 7-3*(-2)1余数是1
cout-7%3endl; // -1 -73*(-2)-1余数是-1
cout-7%-3endl; // -1 -7-3*(-2)-1余数是-1Python中的负数取余取模%规则
Python中的取模运算结果符号与除数相同并且保证结果在 [0, 除数 - 1] 这个区间内。从数学定义角度看Python遵循的是使商尽可能小向下取整的规则。例如计算 -7/3 商是 -3 向下取整然后根据公式 被除数 除数×商余数 来计算余数即 -7 3×(-3)2 所以余数为 2 。
print(7%3) # 1 因为73*21
print(7%-3) # -2 因为7-3*(-3)-2
print(-7%3) # 2 因为-73*(-3)2
print(-7%-3)# -1 因为-7-3*2-1总结区别 总的来说C 和 Python 对于负数取余运算核心区别在于余数符号遵循的规则不同。C 让余数符号和被除数相同而 Python 让余数符号和除数相同这就导致同样的负数取余操作在两种语言中往往会得出不一样的结果在实际编程过程中需要特别留意这一差异避免出现不符合预期的逻辑错误。