3 c largenumber
我有一个存储在2个变量中的大数(整数,无符号)(如您所见,数字的高低部分):
unsigned long long int high;
unsigned long long int low;
Run Code Online (Sandbox Code Playgroud)
我知道如何添加或减去其他一些变量.
但我需要划分那种数字.怎么做?我知道,我可以减去N次,但也许有更好的解决方案.;-)
语言:C
小智 6
是.它将涉及转移,我不建议在C中执行此操作.这是一个罕见的例子,其中汇编程序仍然可以证明其价值,轻松使事情运行速度提高数百倍(我不认为我夸大其词这个.)
我没有声称完全正确,但以下内容应该让你去:
(1)将结果初始化为零.
(2)将除数尽可能多地移到左边,而不要让它变得大于被除数.
(3)从被除数中减去转移的除数,并将结果加1.
(4)现在将除数向右移动直到再次,它小于剩余的被除数,并且对于每个右移,左移结果为一位.除非停止条件满足,否则返回(3).(停止条件必须是"除数已经变为零",但我不确定.)
回到一些真正的编程问题真的很棒:-)