昨天在学习黑马基础day02教学视频时,听到老师读这段代码“3 % 5”为“三mó以五”,我在想这是什么鬼,“%”不是读取余吗!
于是我百度了一下相关资料,思绪明朗,整理如下:
①运算符“%”的含义
运算符“%”可代表两种运算,一种是取余运算,一种是取模运算。
在不同的环境下,%运算符的含义不同,比如c/c++/java为取余,python为取模。
②取余运算 和 取模运算 的差别
取模运算 和 取余运算 两个概念有重叠的部分但又不完全一致。
运算公式都为: r = a % b (a, b为整型数);
运算的步骤都是:
1. 求整数商: c = a / b;
2. 计算模或者余数: r = a - c * b.
取余运算 和 取模运算 在第一步不同:取余运算在取c的值时,向0 方向舍;而取模运算在计算c的值时,向负无穷方向舍。
例子:计算 -7 % 4
那么:a = -7;b = 4;
第一步:求整数商,进行求余 c = -1(向0方向舍入),求模运算 c = -2(向负无穷方向舍入);
第二步:取余和取模的公式相同,但因c的值不同,求余时 r = -3,求模时 r = 1。