这不是我第一次遇到这个问题,但今天我在玩SNES游戏的时候又想起了这个游戏,想要找到比我更了解它的人的回答.
以超级任天堂为例.这是一个16位系统.使用16位,最多可以计数65536或2 ^ 16.那么机器如何应对我,例如,得分大于65536?
小智 5
实际上它有点复杂,但简单的解释是 16 位处理器可以在单个操作中对 16 位数字进行操作,而要处理更大的数字,您需要分解。例如,要添加两个 32 位数字,您可以在一次操作中添加最低有效字,然后添加最高有效字,然后添加任何进位。
显然这要慢得多(3 条指令而不是 1 条指令),但如果需要,几乎可以完成任何操作。这是具有较大字的处理器可以更快的原因;他们可以用一条指令而不是几条指令来完成更大的操作。从程序员的角度来看,编译器通常会处理这个问题,除非您正在编写程序集,否则您永远不会手工完成。
但实际上,许多处理器都有专门的硬件来进行数学运算,因此调用 32 位或 64 位处理器实际上更多地与内存寻址和寄存器的大小有关。