【问题标题】:Modular Arithmetic in programming [closed]编程中的模块化算术[关闭]
【发布时间】:2014-12-01 03:39:00
【问题描述】:

谁能解释一下模块化算术在编程中的工作原理?我知道它用于对大值进行操作。

例如,使用 int 数据类型计算 B(1000000, 2) 的二项式系数。我假设我们不能使用 int 数据类型进行乘法运算,因为它涉及计算像 1000000 这样的大值的阶乘!它有数百万位数字,不适合 32 位或 64 位整数。

我知道模运算可以解决这类问题,但我不明白它是如何工作的。

【问题讨论】:

  • 它只是意味着“剩余”。 3 modulo 2 = 1。例如“3 除以 2 得到余数(也称为模数)1”
  • 我用谷歌搜索了你的标题并找到了答案。虽然,我没有在 Stackoverflow 上找到这个答案......
  • 一般来说,人们无法回答如此宽泛的问题。 “猫是怎么工作的?”好吧,有很多部分可以解释来回答这个问题。 “猫是如何获得氧气的?”通过肺部,每 15 秒呼吸一次,等等。明白了吗?
  • 1 个例子:: (3*6)%5=((3%5)*(6%5))%5
  • 参考。 Modulo operation 了解一般背景。不同语言之间的精确运算可能会有所不同,特别是当存在负操作数或被除数符号匹配时,但通常建议粗略阅读。

标签: java performance scalability binomial-coefficients


【解决方案1】:

模运算是一种计算除法余数的简单运算。 例如 5 % 3 = 2 因为 5 除以 3 将得到余数。

一个常见的用例是检查一个数字是偶数还是奇数。 number % 2 == 0 表示是偶数。

更多信息请查看Wikipedia。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 2021-07-08
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多