gpt4 book ai didi

modulo - C++中如何求大数除法的余数?

转载 作者:行者123 更新时间:2023-12-02 02:24:11 27 4
gpt4 key购买 nike

我有一个关于 C++ 模数的问题。我想要做的是除以一个非常大的数字,例如 M % 2,其中 M = 54,302,495,302,423。然而,当我去编译时,它说这个数字对于 int 来说太“长”了。然后,当我将其切换为 double 时,它会重复相同的错误消息。有没有一种方法可以做到这一点,我可以获得这个非常大的数字的剩余部分,或者可能是一个更大的数字?感谢您的帮助,非常感谢。

最佳答案

您可以尝试将数字存储在“long long”(64 位整数值)中,但请注意,如果您的应用程序是多线程并在 32 位 CPU 上运行,则在读取时需要在线程之间进行同步/写入该值,因为读/写需要 2 个时钟周期。

或者,尝试 bignum library

如果你想让事情变得有趣,如果你只做模 2,你可以检查最低位并得到答案。如果您只执行模 255,则可以采用最低 8 位(无符号字符)并对它们进行运算。如果您只对 65535 进行模运算,则可以采用最低 16 位(无符号短整型)并对它们进行运算。

关于modulo - C++中如何求大数除法的余数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com