gpt4 book ai didi

c - 如何划分大数?

转载 作者:太空狗 更新时间:2023-10-29 15:53:46 27 4
gpt4 key购买 nike

我有一个大数字(整数,无符号)存储在 2 个变量中(如您所见,数字的高位部分和低位部分):

unsigned long long int high;
unsigned long long int low;

我知道如何添加或减去其他类似的变量。

但我需要划分那种数字。怎么做?我知道,我可以减去 N 次,但是,也许还有更多更好的解决方案。 ;-)

语言:C

最佳答案

是的。它将涉及轮类,我不建议在 C 中这样做。这是少数几个汇编程序仍然可以证明其值(value)的例子之一,很容易使事情运行速度快数百倍(而且我不认为我在夸大其词这个。)

我并不声称完全正确,但以下内容应该可以帮助您:

(1) 将结果初始化为零。

(2) 将除数向左移动尽可能多的位,但不要让它大于被除数。

(3) 被除数减去移位除数,结果加1。

(4) 现在将除数再次右移,直到它小于剩余的被除数,并且对于每一次右移,左移结果一位。除非满足停止条件,否则返回(3)。 (停止条件必须是“除数已变为零”之类的东西,但我不确定。)

回到一些真正的编程问题真的感觉很棒 :-)

关于c - 如何划分大数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1019083/

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