标签: modulo

具有负值的模数运算 - 奇怪的是什么?

你能告诉我多少钱(-2) % 5?根据我的Python解释器是3,但你有一个明智的解释吗?

我读过在某些语言中,结果可能与机器有关,但我不确定.

python math modulo

17
推荐指数
4
解决办法
1万
查看次数

JavaScript中的Modulo - 大量的

我尝试用JS'模数函数计算,但没有得到正确的结果(应该是1).这是一段硬编码的代码.

var checkSum = 210501700012345678131468;
alert(checkSum % 97);

Result: 66
Run Code Online (Sandbox Code Playgroud)

问题出在这里?

此致,Benedikt

javascript integer modulo

17
推荐指数
4
解决办法
2万
查看次数

在sh脚本中计算模数

我正在开发一个sh脚本,我在一个WHILE循环中,每次迭代变量都会增加,我想每五次迭代保存一个文件.

我通常做的(比如用C语言)就是做一个if ( n % 5 == 0)测试,但我不知道这是否可行......?如果不是,有没有人有任何想法可以完成工作?

干杯!

sh modulo

17
推荐指数
4
解决办法
8万
查看次数

做x mod 1000000007的想法是什么?

在许多编程问题(例如一些Project Euler问题)中,我们被要求报告答案,将剩余的答案除以1,000,000,007.

为什么不是其他号码?

编辑:2年后,这就是我所知道的:数字是一个很大的素数,对这样一个问题的任何答案都是如此之大,以至于报告一个余数是有意义的(因为该数字可能对于本机数据类型来说太大了)处理).

math modulo

17
推荐指数
1
解决办法
5613
查看次数

如何在JavaScript中计算负整数的模数?

我试图通过递增或递减1迭代jQuery对象数组.因此,对于递减部分,我使用此代码:

var splitted_id = currentDiv.attr('id').split('_');
var indexOfDivToGo = parseInt(splitted_id[1]);
indexOfDivToGo = (indexOfDivToGo-1) % allDivs.length;
var divToGo = allDivs[indexOfDivToGo];
Run Code Online (Sandbox Code Playgroud)

所以我有4个带id的元素:

div_0
div_1
div_2
div_3
Run Code Online (Sandbox Code Playgroud)

我期待它迭代为3 - 2 - 1 - 0 - 3 - 2 - 等等.

但它在零之后返回-1,因此它被卡住了.所以它迭代为:

3 - 2 - 1 - 0 - -1 - 卡住了

我知道我可以通过更改代码的第二行来修复它

indexOfDivToGo = (indexOfDivToGo-1 + allDivs.length) % allDivs.length;
Run Code Online (Sandbox Code Playgroud)

但我想知道为什么JavaScript不计算负模型.也许这对另一位编码人员也有帮助.

javascript math jquery modulo negative-number

16
推荐指数
2
解决办法
9658
查看次数

为什么模运算返回意外值

为什么以下代码打印255

#include <stdint.h>
#include <stdio.h>

int main(void) {
  uint8_t i = 0;
  i = (i - 1) % 16;
  printf("i: %d\n", i);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我假设15,虽然i - 1评估为整数.

c gcc modulo

16
推荐指数
2
解决办法
1053
查看次数

计算x mod y,其中y不能表示为浮点

作为规范示例,考虑三角函数的参数减少问题,如计算xmod2π作为计算sin(x)的第一步.这种问题很难,因为你不能只使用fmod,因为y(在例子中为2π)不具有代表性.

我提出了一个简单的解决方案,适用于任意值y,而不仅仅是2π,我很好奇它是如何比较(性能)与典型的参数减少算法.

基本思想是将一个包含2 n mod y 值的表存储在log2(y)范围内的每个值n到最大可能的浮点指数,然后使用模运算的线性,将此表中的值相加在x的值中设置的位.它相当于N个分支和最多N个加法,其中N是浮点类型中的尾数位数.结果不一定小于y,但是它受N*y的限制,并且可以再次应用该过程以给出由log2(N)*y限定的结果,或者fmod可以简单地在此处使用具有最小误差的结果.

这可以改善吗?并且典型的三角参数约简算法是否适用于任意y或仅适用于2π?

language-agnostic math floating-point modulo

15
推荐指数
1
解决办法
564
查看次数

像GCC这样的C/C++编译器通常会以2的恒定幂来优化模数吗?

假设我有类似的东西:

#define SIZE 32

/* ... */

unsigned x;

/* ... */

x %= SIZE;
Run Code Online (Sandbox Code Playgroud)

将在x % 32通常被减少到x & 31由最C/C++编译器,如GCC?

gcc constants modulo compile-time-constant compiler-optimization

15
推荐指数
1
解决办法
3161
查看次数

可被n整除的和

这是算法课程简介中的一个问题:

你有一个n个随机正整数的数组(数组不需要排序或元素唯一).建议使用O(n)算法来找到可被n整除的最大元素总和.

使用动态编程在O(n 2)中找到它并使用余数0,1,2,...,n - 1存储最大和是相对容易的.这是一个JavaScript代码:

function sum_mod_n(a)
{
    var n = a.length;

    var b = new Array(n);
    b.fill(-1);

    for (var i = 0; i < n; i++)
    {
        var u = a[i] % n;
        var c = b.slice();

        for (var j = 0; j < n; j++) if (b[j] > -1)
        {
            var v = (u + j) % n;
            if (b[j] + a[i] > b[v]) c[v] = b[j] + …
Run Code Online (Sandbox Code Playgroud)

algorithm dynamic-programming modulo

15
推荐指数
1
解决办法
1635
查看次数

在C中实现模运算符作为函数

如何在不使用运算符的情况下将模运算符作为C函数实现?

c operators modulo

14
推荐指数
4
解决办法
2万
查看次数