【问题标题】:Modulus operator not behaving as expected in javascript? [duplicate]模数运算符在 javascript 中的行为不符合预期? [复制]
【发布时间】:2017-12-28 13:14:42
【问题描述】:

我有以下:

-1 mod 5

我希望得到4

但是在 JS (-1 % 5) 中,我得到了 -1

我做错了什么?

【问题讨论】:

  • 按什么逻辑你会期望得到 4?
  • @torazaburo 谷歌逻辑:google.com/…
  • 数字-1等于4(模5)。
  • @Pointy 我一定不懂基础数学。事实仍然是 JS 结果!= google 算术结果。
  • 由于从重复状态链接的 wiki 文章,编程语言在处理负数的方式上有所不同en.m.wikipedia.org/wiki/Modulo_operation

标签: javascript modulus


【解决方案1】:

mod 是用除数除数的余数。

在数学中 -1%5 = -1 所以 Js 正在按预期工作。

你没有做错任何事。如果您想得到一个正数(差),则将除数添加到结果中。

var result = (-1 % 5) + 5;

在模块之前或之后添加数字并不重要。这是一个纯粹的数学。

【讨论】:

猜你喜欢
  • 2020-10-29
  • 2023-03-03
  • 2023-01-23
  • 2016-08-06
  • 2017-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-10
相关资源
最近更新 更多