图片 1

对 JS 取模的三点错误认识

相关阅读:

相关阅读:

            大多数取模运算(mod)和求余(rem)运算都被混为一谈,因为在大多数的编程语言里,都用’%’符号表示取模或者求余运算。但是这两种的结果却不一样。

  • JS 中的取模
  • 对 JS
    取模的三点错误认识
  • 取余赋值运算符
    (%=)
  • JS 中的取模
  • 对 JS 取模的三点错误认识
  • 取余赋值运算符
    (%=)

1. 取余运算在取c的值时,向0 方向舍入(fix()函数);

 

 

2. 取模运算在计算c的值时,向负无穷方向舍入(floor()函数)。

即取余(或余数)运算,运算符号为 %,表达式为:

一、取模就是取整。

例如:

result = number1 % number2

取模不是取整,而是取余(或余数)。

       c=a%b

图片 1

比如:number1 为 13,number2 为 3,结果得 1。

 

            其中求模运算结果的符号和b一致,求余运算结果的符号和a一致。

结果的正负取决于 number1,与 number2 无关。number1
为正,结果为正;number1 为负,结果为负。

二、假设表达式为:result = number1 %
number2,如果 number2
不是整数,则会先将其四舍五入为整数,再进入运算。

求余:

        -3%(-5)值为余数3,符号与a一致,即为-3;

此处迷惑非常多的人,因为在微软的 JScript
语言参考里就是这么说的,实际上,并不对 number2 进行四舍五入。19 % 6.7
的结果并不是语言参考上说的为 5,而是 5.6。所以说,不会对 number2 进行四舍五入。

 取模:

        -3%(-5)值为:     -3 – floor( -3 / (-5) ) * (-5) = -3

 

fix函数:

三、取模结果的符号与乘法除法运算时的规则相同。

        当x为正时,取整函数删除x小数部分,返回其整数部分的值,不进行四舍五入;

实际上,取模结果的符号只取决于 number1。

        当x为负时,返回大于或等于x的最小整数。

例如:

        Fix(2.33333) ‘返回结果为2.

        Fix(6.66666) ‘返回结果为6.

        Fix(-6.66666) ‘返回结果为-6.

        Fix(-2.33333) ‘返回结果为-2.

floor函数 :

其功能是“向下取整”,或者说“向下舍入”,即取不大于x的最大整数(与“四舍五入”不同,下取整是直接取按照数轴上最接近要求的值左边的值,也就是不大于要求的值的最大的那个)。

例如:

        floor(3.14) = 3.0

        floor(9.999999) = 9.0

        floor(-3.14) = -4.0

       floor(-9.999999) = -10

发表评论

电子邮件地址不会被公开。 必填项已用*标注