1

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

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

但是,这些位是如何存储在这些单独的字节中的?我的意思是我的最低有效位在哪里不重要吗?我一直对右边的最低有效位感到满意,所以在硬件级别也是?

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

为了更清楚,最低地址将用于最高有效“位”或最低有效“位”

4

2 回答 2

0

访问位通常通过掩码和移位来完成。对于掩码本身,您不需要考虑最高/最低有效位的位置。第 1 位有掩码 1,第 2 位有掩码 2,第 3 位有掩码 4,以此类推。

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

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

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

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

于 2012-05-24T08:48:18.567 回答
0

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

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

于 2014-12-28T22:32:34.313 回答