我一直在寻找谷歌的答案,似乎无法找到它。但二进制以字节/八位字节,8位表示。所以角色a(我认为)是01100010,
,而嘿是
01101000
01100101
01111001
所以我的问题是,为什么8?这只是计算机使用的一个很好的数字吗?而且我已经注意到32位/ 62位计算机是8的倍数...所以这一切都与第一台计算机的制作方式有关吗?
很抱歉,如果这个问题不符合Q / A标准......它与代码无关,但我想不出其他任何问题。
答案 0 :(得分:2)
“在20世纪60年代早期,AT& T首先在长距离干线上引入了数字电话。它们使用了8位μ律编码。这项大额投资有望降低8位数据的传输成本。用于数字电话的8位代码也导致8位数据八位字节被用作早期互联网的基本数据单元“
http://en.wikipedia.org/wiki/Byte
不确定这是多么真实。看来,这只是IEEE采用的符号和风格。
答案 1 :(得分:2)
答案实际上是“历史原因”。
计算机内存必须在某个级别可寻址。当您向RAM询问信息时,您需要指定所需的信息 - 然后它将返回给您。理论上,人们可以产生位寻址存储器:你要求一位,你得到一位。
但这不会非常有效,因为连接处理器和内存的接口需要能够传达足够的信息来指定它想要的地址。访问的粒度越小,在您给出足够准确的地址进行检索之前,您需要的电线就越多(或者沿着相同数量的电线推动的电线越多)。此外,多次返回一位比一次返回多位效率低(旁注:一般情况下都是真的。这是串行与并行的争论,并且由于降低了系统复杂性和物理特性,串行接口通常可以更快地运行。但总的来说,一次更多的比特更有效率。)
其次,系统中的内存总量部分受限于最小可寻址块的大小,因为除非使用可变大小的内存地址,否则只有有限数量的地址使用 - 但每个地址代表您可以选择的位数。因此,具有逻辑字节可寻址存储器的系统可以保存具有逻辑位可寻址存储器的RAM的八倍。
因此,我们在较不精细的级别上使用逻辑逻辑可寻址(尽管物理上没有RAM芯片只返回一个字节)。只有两个的权力才真正有意义,而且从历史上看,访问级别是一个字节。它可以很容易地是一个半字节或两个字节的字,实际上旧系统确实有比8位更小的块。
现在,当然,现代处理器主要以缓存行大小的增量来占用内存,但是我们表达分组和划分现在虚拟地址空间的方法仍然存在,并且 CPU指令的内存量最小可以直接访问仍然是一个8位块。 CPU指令的机器代码(和/或进入处理器的路径)必须以与连接到存储器控制器的导线数量相同的方式增长,以使寄存器可寻址 - 这与使用相同的问题我之前谈到的系统内存可访问性。
答案 2 :(得分:0)
我们使用8位字节的一个原因是因为我们周围世界的复杂性具有明确的结构。在人类的规模上,观察到的物理世界具有有限数量的独特状态和模式。我们固有的限制能力来分类信息,区分秩序与混乱,大脑中有限的记忆 - 这些都是我们选择[2 ^ 8 ... 2 ^ 64]状态足以满足我们日常基础的原因计算需求。