Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Modulo 如何在C++;? 我有一个关于C++中的模数的问题。我试图做的是除以一个非常大的数字,比如说,M%2,其中M=54302495302423。然而,当我去编译它时,它说int的数字是“long”。然后当我将它切换为double时,它会重复相同的错误消息。有没有一种方法可以让我得到这个非常大的数的剩余部分,或者可能是一个更大的数?谢谢你的帮助,非常感谢。 < P>对于C++中的大数运算,使用库。特别是,该函数将执行此操作 P>对于一个更自然的C++包装器,该类可以通过为多精度操作提供操作符重载来帮助。 < P>可以尝试将该数字存储在一个“长长”(64位整数值)中,请注意,如果您的应用程序是多线程的,并且在32位CPU上运行,那么在读取/写入此值时,您需要在线程之间进行同步,因为读取/写入此值需要2个时钟周期_Modulo - Fatal编程技术网

Modulo 如何在C++;? 我有一个关于C++中的模数的问题。我试图做的是除以一个非常大的数字,比如说,M%2,其中M=54302495302423。然而,当我去编译它时,它说int的数字是“long”。然后当我将它切换为double时,它会重复相同的错误消息。有没有一种方法可以让我得到这个非常大的数的剩余部分,或者可能是一个更大的数?谢谢你的帮助,非常感谢。 < P>对于C++中的大数运算,使用库。特别是,该函数将执行此操作 P>对于一个更自然的C++包装器,该类可以通过为多精度操作提供操作符重载来帮助。 < P>可以尝试将该数字存储在一个“长长”(64位整数值)中,请注意,如果您的应用程序是多线程的,并且在32位CPU上运行,那么在读取/写入此值时,您需要在线程之间进行同步,因为读取/写入此值需要2个时钟周期

Modulo 如何在C++;? 我有一个关于C++中的模数的问题。我试图做的是除以一个非常大的数字,比如说,M%2,其中M=54302495302423。然而,当我去编译它时,它说int的数字是“long”。然后当我将它切换为double时,它会重复相同的错误消息。有没有一种方法可以让我得到这个非常大的数的剩余部分,或者可能是一个更大的数?谢谢你的帮助,非常感谢。 < P>对于C++中的大数运算,使用库。特别是,该函数将执行此操作 P>对于一个更自然的C++包装器,该类可以通过为多精度操作提供操作符重载来帮助。 < P>可以尝试将该数字存储在一个“长长”(64位整数值)中,请注意,如果您的应用程序是多线程的,并且在32位CPU上运行,那么在读取/写入此值时,您需要在线程之间进行同步,因为读取/写入此值需要2个时钟周期,modulo,Modulo,或者,尝试一种新的方法 如果你想让事情变得有趣,如果你只做模2,你可以检查最低位,得到你的答案。如果您最多只能进行模255运算,则可以取最低的8位(无符号字符)并对其进行运算。如果您最多只能进行模65535运算,则可以取最低的16位(无符号短)并对其进行运算。ints仅范围为–2147483648到2147483647。检查 用于数据类型范围。我建议使用long-long。提示:使用链接列表。将数字动态存储为一组数字。例如: 112233445566778899001122=>11223344

或者,尝试一种新的方法


如果你想让事情变得有趣,如果你只做模2,你可以检查最低位,得到你的答案。如果您最多只能进行模255运算,则可以取最低的8位(无符号字符)并对其进行运算。如果您最多只能进行模65535运算,则可以取最低的16位(无符号短)并对其进行运算。

ints仅范围为–2147483648到2147483647。检查
用于数据类型范围。我建议使用long-long。

提示:使用链接列表。将数字动态存储为一组数字。例如:

1
12233445566778899001122=>11223344 55667788 99001122

现在考虑单个单元,从左向右开始。找到提醒并操纵它以添加到下一组并继续

现在实现起来非常简单:)

编辑:

请记住,操作后的单个单位应在int所能支持的最大范围内

112233445566778899001122/6 =>  11223344 55667788 99001122/6


 11223344/6 =>2

 2*100000000 + 55667788 = 255667788
 255667788/6 => 0
 0*100000000 + 99001122 = 99001122
 99001122/6=>0

 So the reminder is 0.