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.