gpt4 book ai didi

memory - 为什么可以存储的最小值是字节(8位)而不是位(1位)?

转载 作者:行者123 更新时间:2023-12-01 09:37:48 25 4
gpt4 key购买 nike

为什么内存中可以存储的最小值是 Byte(8bit) 而不是 Bit(1bit)?甚至 bool 值也存储为字节。我们是否会像 CPU 上的寄存器一样将最小的数字提高到 32 位或 64 位?

编辑:澄清许多答案似乎对探索的性质感到困惑。这个问题是关于为什么一个字节不是 7 位、1 位、32 位等(不是为什么低位原语必须在最小时适合硬件的字节)。 8 位字节是否只是历史性的,例如某些硬件具有 10 位字节。或者是否有数学原因 8 位比 10 位更适合一般处理?

最佳答案

硬件用于读取 block 中的数据(字节、后面的字和双字)。与访问单个位相比,这提供了更高的效率,并且还提供了更大的寻址范围。因此,大多数数据至少与字节边界对齐。存在使用位序列而不是字节操作的编码,但它们非常罕见。

如今,无论如何,数据通常都与 dword(32 位)边界对齐。此外,某些硬件(例如 ARM)无法访问未对齐的多字节变量,即 16 位字不能“跨越”双字边界 - 将引发异常。

关于memory - 为什么可以存储的最小值是字节(8位)而不是位(1位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4607572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com