取一个字节的模数字符串

时间:2013-10-24 19:51:07

标签: c++ c hash modulus

我有一个像这样存储的128位数字......

unsigned char upperHalf [8];
unsigned char lowerHalf [8];

其中upperHalf是数字的高8字节(大端格式) 下半部分是数字的低8字节(大Big Endian格式)

最大的限制是我不能使用无符号长整数来拟合128位......

sizeof(unsigned long long ) returns 8. 

我需要使用64位数字对这个128位数进行模数化。

我想知道是否有一种有效的方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

是和否。

你需要编写自己的函数来正确地进行模数运算(除非你可以假设它总是2的幂,这将允许你只做换班)。或者您可以使用Big Integer库(例如https://mattmccutchen.net/bigint/)。