JavaScript求模与取余的区别

2,540 阅读1分钟

通常情况:都用'%'符号表示取模或者求余运算。在这里要提醒大家要十分注意当前环境下'%'运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的。

一、求摸:

摸= y - n * x ,n是y/x后的商(要向下取整):算出摸的值符号与x相同

例:

10/3 的摸 : n = 10/33.3333333333333335 向下取整 n=3
模=10-3*3 ;模为1

10/-3的模: 10/-3为-3.3333333333333335 向下取整 n=-4
10-(-3*-4) = -2 模=-2

二、取余:

余数等于 y - n * x ,n是y/x后的商(向0取整):算出余数的值符号与y相同

例:

10/3 的余数 : n = 10/33.33333333333333350取整 n=3
10-3*3 ;
余数为1

10/-3的余数: 10/-3为-3.3333333333333335 向0取整 n=-3
10-(-3*-3) = 1 
余数=1

三、区别

  • 在计算n值的时候:求模(向下取整), 取余(向0取整)
  • 在计算n的符号的时候:求模(模的值与x的符号一样),取余(模的值与y的符号一样)