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

问题描述 投票:-1回答:1

我知道在一个寄存器中是不可能的,但存储它的最佳方法是什么?我试图在手臂组装中解决欧拉的问题25。我完成了斐波纳契部分,但在我达到千位数之前无法弄清楚如何继续这样做。它将在第4782个斐波那契数字附近。

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

链接到欧拉的问题:qazxsw poi

assembly arm
1个回答
2
投票

https://projecteuler.net/problem=25的数量由3300多位组成。除非ARM有数百个可用于此的32位寄存器,否则不会在寄存器中完成。

即使它确实有那么多寄存器,它可能仍然没有被优化为将它们全部视为一个单元。

您可能需要做的是将这些东西存储在内存中(作为某些描述的101000结构)。你可以看看这个{sign, numBytes, byteArray[]},看看在“bignum”类型上实现基本算术运算的一种方法。

© www.soinside.com 2019 - 2024. All rights reserved.