位,字节和字节序

时间:2012-05-24 08:27:27

标签: bit

我一直在阅读有关字节序的内容,它适用于字节而不是位,但最终不是所有内容都是一组位吗?

现在我还读到,我们指的是字节而不是位,因为计算机是字节可寻址的,并且一次可以得到一个字节的数据,字节序将指的是最低有效“字节”的位置,同意。

但是,那些比特是如何存储在这些单独的字节中的?我的意思是不应该重要的是哪个是我最不重要的位?,我总是对右边最不重要的位感到满意,所以它是那么在硬件层面也是如此?

如果我想访问字节中的特定位,那么寻址将如何处理?这就是我的问题

为了使其更清楚,最低地址将用于最重要的“位”或最低有效的“位”

2 个答案:

答案 0 :(得分:0)

通常通过屏蔽和移位来访问位。对于掩模本身,您不需要考虑最高/最低有效位的位置。位1具有掩码1,位2具有掩码2,位3具有掩码4等

如果您希望位n位于任意硬件上的最低/最高位和任意位/字节设置的位置,那么只有一种算法:

/* set bit N */
extr <- 2^N
do
  extr <- rot_right(extr)
until (extr & 1)

如果最低有效位在最左侧内部存储,则此算法也可以工作,但它需要进行位旋转操作。然后,您可以使用计数器确定LSB是最左侧还是最右侧。

一般来说(现在)可以安全地假设,最低有效位是字节中最右边的位。

答案 1 :(得分:0)

令牌环和以太网的MAC地址具有不同的逐位字节表示。

令牌环的MAC寻址字节(0x34)=以太网的MAC寻址字节(0x2C)。字节的地址顺序仍然是big-endian,但是一个字节内的位具有不同的bit-endian。当使用具有两种类型接口的系统进行网络通信时,这会产生兼容性问题。

相关问题