如何在寄存器中存储1000位数字

时间:2019-04-30 00:37:19

标签: assembly arm

我知道不可能在一个寄存器中进行存储,但是最好的存储方法是什么?我正在尝试解决欧拉的手臂组装问题25。我已经完成了斐波那契部分,但是直到我达到一千位数时,我才想出如何继续做下去。大约是第4782个斐波那契数。

存储在单独的寄存器中,但这将需要大量的寄存器。

链接到eulers的问题:https://projecteuler.net/problem=25

1 个答案:

答案 0 :(得分:2)

数字101000由3300多位组成。除非ARM有数百个可以用于此目的的32位寄存器,否则将在寄存器中完成。

即使 did 有那么多寄存器,它可能仍未针对将它们全部视为一个单元进行优化。

您可能需要做的就是将这些内容存储在内存中(作为某种描述的{sign, numBytes, byteArray[]}结构)。您可以查看此earlier answer of mine,以了解一种在“ bignum”类型上实现基本算术运算的方法。