如何在 JavaScript 中使用模运算符 (%)? [复制]

Posted

技术标签:

【中文标题】如何在 JavaScript 中使用模运算符 (%)? [复制]【英文标题】:How can I use modulo operator (%) in JavaScript? [duplicate] 【发布时间】:2013-05-06 12:19:19 【问题描述】:

如何在 javascript 项目的数字计算中使用模运算符 (%)?

【问题讨论】:

【参考方案1】:

余数运算符,用于取整数除法后的余数。很多语言都有。例如:

10 % 3 // = 1 ; because 3 * 3 gets you 9, and 10 - 9 is 1.

显然它与modulo operator 完全不同。

【讨论】:

您可以将3 恰好放入 9 中的 3 次。如果您将 3 再与 9 相加,您将得到 12。但您是在除以 10,所以您说它是 3乘以 9,余数为 1。这就是模数得到的结果。 我觉得这样解释比较好:Modulo是除以一个值时剩下的差。您可以使用它来计算包含项目的列表,例如:10 % 10 给您 0。当它为 0 时,您知道列表中有 10 个项目。例如 20 % 10 给你相同的值,0,列表中的另外 10 项...... JS AFAIK 中没有“整数除法”运算符; 10 / 3 将导致 3.333...。您需要截断分数,例如使用Math.floor() @Lucero 你是对的,我从来没有意识到这一点!我只是假设它使用了许多语言中可用的相同基本运算符。 @MDeSchaepmeester,嗯,它使用了与其他语言相同的基本运算符,但它缺少特定的整数原语。 JS 本身只有浮点数的“数字”原语,因此也没有纯整数运算符。【参考方案2】:

那就是modulo operator,它产生两个数字相除的余数。

【讨论】:

在类 C 语言(包括 JavaScript)中,% 是余数运算符,而不是模数/模数。它们对于正值是等价的,但对于负值是不同的。 否决这个答案,因为它不会为这个对话添加任何有用的东西。

以上是关于如何在 JavaScript 中使用模运算符 (%)? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

识别何时使用模运算符

在没有模运算符的Java中测试偶数

当第一个数字较小时,模运算如何工作?

如何计算没有“%”运算符的两个数字的余数/模?

JavaScript-运算符和表达式

模2运算的原理 模2加法,模2减法,模2乘法,模2除法