我们有8位、16位、32位和64位硬件架构和操作系统。但不是 42 位或 69 位的。
为什么?是否有一些基本因素使 2^n 位成为更好的选择,或者只是与现有系统兼容? (一个64位寄存器可以容纳两个32位指针,或者一个32位数据单元可以容纳4个字节,显然很方便。)最佳答案
这主要是一个传统问题。这甚至并不总是正确的。例如,处理器(甚至是现代处理器)中的浮点单元具有 80 位寄存器。并且没有什么会强制我们使用 8 位字节而不是 13 位字节。
有时这有数学推理。例如,如果您决定使用 N 位字节并想要进行整数乘法,则需要 2N 位来存储结果。然后,您还需要对这些 2N 位整数进行加/减/乘,现在您需要 2N 位通用寄存器来存储加/减结果,以及 4N 位寄存器来存储乘法结果。
关于architecture - 为什么位数总是(?)2的幂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1606827/