这不是第一次出现这个问题,但我今天正在玩一个旧的SNES游戏,当我再次考虑这个问题时,我想寻求那些比我更了解它的人的回答。
以超级任天堂为例。这是一个16位系统。使用16位,最多可以计数65536或2 ^ 16。那么机器如何应对我,例如,得分大于65536?
答案 0 :(得分:4)
实际上它有点复杂,但简单的解释是16位处理器可以在一次操作中对16位数进行操作,并且为了处理更大的数字,你需要分解。例如,要添加两个32位数字,您可以在一个操作中添加最不重要的单词,然后添加最重要的单词,然后添加任何进位。
显然这要慢得多(3条指令而不是1条),但几乎所有操作都可以在需要时完成。这就是具有较大单词的处理器可以更快的原因;他们可以使用单个指令而不是几个指令来执行更大的操作。从程序员的角度来看,编译器通常会处理这个问题,除非你正在编写程序集,否则你永远不会手工完成。
实际上,许多处理器都有专用硬件来进行数学运算,因此调用32位或64位处理器实际上更多地与存储器寻址和寄存器大小有关。
答案 1 :(得分:0)
具有较少位的处理器的真正限制是它不能寻址尽可能多的存储器,32位只能寻址4gb。在数学运算方面,16位和32位处理器都相当于A FTTM(有限磁带图灵机),因此具有相似的计算能力。例如,java的BigInteger可以根据需要大小