在JS中有两个操作符,求余和求模,它们本质上并没有区别,但仍有一些差异,今天就给大家区分一下它们
求余
符号:%
写法:a % b
求余:a % b ,表示为a rem b,相当于 a - n * b,n表示商取整(直接去掉小数部分,向0取整),n等于 a / b的结果
举个例子来看看 7 % 3
7 % 3
> 第一步首先算出n的结果,n = 7/3 = 2 //省略掉小数部分
> 第二部带入公式:7 % 3 = 7 - 2 * 3 = 1
所以 7 % 3的结果是 1
负数的方法同上,余数的符号跟被除数有关,与除数是无关的
求模
求模:a mod b,也相当于 a - n * b,n表示商取整(直接去掉小数部分,向上取整),n等于 a / b的结果
看到这里,相信很多朋友不懂什么是向0取整或者什么是向上取整,接着往下看
通过上图,很好的解释了向0取整(向下取整),如1.5向0取整的结果就是1
相信看到这里,大家对于向上取整也有概念了
1.5向上取整对应的结果就是2
看到这里,相信对于求模,大家也能很快求出来了
举个例子 7 mod 3
7 mod 3
> 首先求出n的值,注意这里n是向上取整,所以 n = 7 / 3 = 3
> 接下来步骤与求余一样,7 mod 3 = 7 - 3 * 3 = -2
所以 7 mod 3的结果就为-2
注意:求模的符号与求余相反,与除数有关,与被除数无关
写到这里,其实平时在我们实际开发中,求模求余并没有实质的区别,可以说成求模就是求余,唯一的区别就是在于求小数部分,感谢大家浏览。