我知道在一个寄存器中是不可能的,但存储它的最佳方法是什么?我试图在手臂组装中解决欧拉的问题25。我完成了斐波纳契部分,但在我达到千位数之前无法弄清楚如何继续这样做。它将在第4782个斐波那契数字附近。
存储在单独的寄存器中,但这需要大量的寄存器。
链接到欧拉的问题:qazxsw poi
https://projecteuler.net/problem=25的数量由3300多位组成。除非ARM有数百个可用于此的32位寄存器,否则不会在寄存器中完成。
即使它确实有那么多寄存器,它可能仍然没有被优化为将它们全部视为一个单元。
您可能需要做的是将这些东西存储在内存中(作为某些描述的101000
结构)。你可以看看这个{sign, numBytes, byteArray[]}
,看看在“bignum”类型上实现基本算术运算的一种方法。