求余和求模运算

  1. 求余

计算方法

x % y = x - n * y

n表示商取整(直接去掉小数,向0取整),n = x / y

// 示例1
x = 7,y = 3   

n = 7 / 3 = 2.33332

x % y = x - n * y = 7 - 2 * 3 = 1 
1
2
3
4
5
6
// 示例2
x = 7,y = -3   

n = 7 / -3 = -2.3333-2

x % y = x - n * y = 7 - (-2) * (-3) = 1 
1
2
3
4
5
6
// 示例3
x = -7,y = 3   

n = -7 / 3 = -2.3333-2

x % y = x - n * y = -7 - (-2) * 3 = -7 + 6 = -1
1
2
3
4
5
6

求余的符号与被除数的符号相同

  1. 求模

JS 中没有提供该方法。

计算方法

x mod y = x - n * y

n表示商取整(向下取整),n = x / y

// 伪代码
// 示例1
x = 7 ,y = -3

x mod y = x - n * y = 7 - (-3) * (-3) = 7 - 9 = -2

n = 7 / -3 = -2.3333-3
1
2
3
4
5
6
7
// 伪代码
// 示例2
x = -7 ,y = 3

x mod y = x - n * y = -7 - (-3) * 3 = -7 + 9 = 2

n = -7 / 3 = -2.3333-3
1
2
3
4
5
6
7

求模的符号与除数的符号相同