gpt4 book ai didi

modulus - 了解模数运算符 %

转载 作者:行者123 更新时间:2023-12-03 06:01:23 25 4
gpt4 key购买 nike

我根据以下表达式理解模运算符:

7 % 5

这会返回 2,因为 5 会变成 7 一次,然后给出剩下的 2,但是当你反转这个语句来阅读时,我会感到困惑:

5 % 7

这给了我 5 的值,这让我有点困惑。 7虽然不能整成5,但有一部分能整成5,为什么不是没有余数,就是有正负2的余数呢?

如果它是根据 7 根本不进入 5 的事实来计算 5 的值,为什么余数不是 7 而不是 5?

我觉得我对模运算符的理解缺少一些东西。

最佳答案

(此解释仅适用于正数,因为否则取决于语言)

定义

模数是一个数字除以另一个数字的欧几里德除法的余数。 % 称为取模运算

例如,9 除以 4 等于 2,但仍为 1。此处,9/4 = 29 % 4 = 1

Euclidean Division

在您的示例中:5 除以 7 得到 0,但它仍然是 5 (5 % 7 == 5)。

计算

可以使用以下等式计算模运算:

a % b = a - floor(a / b) * b
  • floor(a/b) 表示 a 除以 b 的次数
  • floor(a/b) * b 是成功完全共享的金额
  • 总和 (a) 减去共享的内容等于除法的余数

应用于最后一个示例,这给出:

5 % 7 = 5 - floor(5 / 7) * 7 = 5

模运算

也就是说,你的直觉是它可能是 -2 而不是 5。实际上,在模算术中,-2 = 5 (mod 7) 因为它存在于 Z 中,使得 7k - 2 = 5

你可能没有学过模算术,但你可能用过角度,并且知道-90°与270°相同,因为它是模360。它很相似,它包起来!拿一个圆来说,它的周长是 7。然后你读到 5 是哪里。如果你尝试用 10,它应该是 3,因为 10 % 7 是 3。

关于modulus - 了解模数运算符 %,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17524673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com