标签: modulo

获取字节中4个最低有效位(C++)的最快方法是什么?

我在说这个:

如果我们有字母'A',十进制为77,十六进制为4D.我正在寻找获得D的最快方法.

我想到了两种方式:

给定x是一个字节.

  1. x << 4; x >> 4

  2. x %= 16

还有其他方法吗?哪一个更快?

c++ optimization operators bit-shift modulo

7
推荐指数
3
解决办法
3991
查看次数

PHP - 大整数mod计算

我需要计算大数模数,如:

<?php

    $largenum = 95635000009453274121700;

    echo $largenum % 97;

?>
Run Code Online (Sandbox Code Playgroud)

它不起作用...因为$ largenum对于PHP中的int来说太大了.

知道怎么做吗?

php math integer modulo

7
推荐指数
1
解决办法
5350
查看次数

快速手动修改数字的方法

我需要能够为a和b的非常大的值计算(a ^ b)%c(它们分别是推动限制,当你尝试计算a ^ b时会导致溢出错误).对于足够小的数字,使用标识(a ^ b)%c =(a%c)^ b%c可以工作,但如果c太大,这实际上没有帮助.我写了一个循环来手动执行mod操作,一次一个:

private static long no_Overflow_Mod(ulong num_base, ulong num_exponent, ulong mod) 
    {
        long answer = 1;
        for (int x = 0; x < num_exponent; x++)
        {
            answer = (answer * num_base) % mod;
        }
        return answer;
    }
Run Code Online (Sandbox Code Playgroud)

但这需要很长时间.是否有任何简单快速的方法来执行此操作,而不必实际使用b AND的功能而不使用耗时的循环?如果所有其他方法都失败了,我可以创建一个bool数组来表示一个巨大的数据类型,并找出如何使用按位运算符来实现这一点,但必须有一个更好的方法.

c# algorithm modulo

7
推荐指数
3
解决办法
7916
查看次数

32位操作系统如何执行2 ^ 56模7?

如果它是密码学中的32位操作系统,系统如何执行2 ^ 56模7?

它是如何存储在内存中的?

algorithm math cryptography bignum modulo

7
推荐指数
1
解决办法
816
查看次数

计算模数n

当用大数字进行模数计算时,你会遇到巨大的性能惩罚mod (123456789^987654321) n.相反,你必须使用自己的^内部计算mod n进行中间计算.

当然,我可以很容易地实现自己的功能,但是我必须为每个操作明确说出"mod n".相反,可以构建一个数值表达式树并推迟实际计算,并且在最终状态模数n只有一次.(见下面的代码)

我开始这是为了清楚地表明我的意思,但我想知道是否已经存在这种实现,它看起来非常有用,所以有人应该实现它.

module Modulo where

data Expr =
    V Integer 
  | Plus Expr Expr
  | Mult Expr Expr
  deriving (Eq, Show)

instance Num Expr where
  (+) = Plus
  (*) = Mult
  fromInteger = V

eval :: Integer -> Expr -> Integer
eval m (V i) = i `mod` m
eval m (Plus e1 e2) = (eval m e1 + eval m e2) `mod` m
eval m (Mult e1 e2) = (eval …
Run Code Online (Sandbox Code Playgroud)

haskell modulo

7
推荐指数
1
解决办法
1937
查看次数

如何在Java中使用mod2 ^ 64?

我正在Java中实现一个Skein哈希函数,我有一个问题,其中一些添加模块2 ^ 64的部分.据我所知,java中的long有max value = 2 ^ 63-1.所以我的问题是,如何实现这个模运算.(Skein中的所有操作都是64位字.)

java modulo

7
推荐指数
1
解决办法
746
查看次数

模数运算符中的C#Bug%

解决了一个错误,我得到了一些有趣的发现.

这个程序的结果

    static void Main(string[] args)
    {
        int i4 = 4;
        Console.WriteLine("int i4 = 4;");
        Console.WriteLine("i4 % 1 = {0}", i4 % 1);

        double d4 = 4.0;
        Console.WriteLine("double d4 = 4.0;");
        Console.WriteLine("d4 % 1 = {0}", d4 % 1);
        Console.WriteLine("-----------------------------------------------------------");
        int i64 = 64;
        double dCubeRootOf64 = Math.Pow(i64, 1.0 / 3.0);
        Console.WriteLine("int i64 = 64;");
        Console.WriteLine("double dCubeRootOf64 = Math.Pow(i64, 1.0 / 3.0) = {0}", dCubeRootOf64);
        Console.WriteLine("dCubeRootOf64 = {0}", dCubeRootOf64);
        Console.WriteLine("dCubeRootOf64 % 1 = {0} ??????????????  Why 1. ??????????", dCubeRootOf64 % …
Run Code Online (Sandbox Code Playgroud)

.net c# math modulo

7
推荐指数
1
解决办法
1513
查看次数

为什么0没有从列表中删除?

我在测试splice迭代数组时是如何工作的,并且不明白为什么0留在列表中?

var array = [2, 5, 9, 14, 0, 1, 3, 6, 7];
for (var i = 0; i < array.length; i++) { 
    if (array[i]%2 == 0) { 
        array.splice(i,1); 
    } 
}

//0 % 2 == 0  is true, and yet
//array = [5, 9, 0, 1, 3, 7]
Run Code Online (Sandbox Code Playgroud)

javascript arrays modulo

7
推荐指数
2
解决办法
119
查看次数

如何找到一个数字的模数?

我正在寻找一种方法来找到一系列数字的模数,如:(a1 + a2 + a3 + a4 + ... + an)mod x

是否存在模数函数的任何方式/属性,以便我可以从序列中的各个数字mod计算此序列的mod.

c++ math modulo

7
推荐指数
2
解决办法
7467
查看次数

无法在glsl中使用'%'

在今天编写着色器程序时,遇到了我必须%用来查找余数的情况.GLSL给了我一个错误,说它在当前版本中不可用.

我试过几个问题.GLSL不支持递归函数和while循环,如果我想创建一个可以给我结果的函数,则需要它(a % b).

所以,我现在卡住了.有人可以帮我弄这个吗?

编辑.我试图使用本网站的一些着色器代码作为参考代码来模拟CRT屏幕.我想修改某些行和列的像素颜色,所以我需要使用模运算符.

起初,我认为模数函数是使用%运算符完成的.它不起作用,所以我尝试使用递归函数/ while循环作为模数函数的变通方法,它也不起作用.

opengl glsl modulo

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