我一直在阅读有关字节序的内容,它适用于字节而不是位,但最终不是所有内容都是一组位吗?
现在我还读到,我们指的是字节而不是位,因为计算机是字节可寻址的,并且一次可以得到一个字节的数据,字节序将指的是最低有效“字节”的位置,同意。
但是,那些比特是如何存储在这些单独的字节中的?我的意思是不应该重要的是哪个是我最不重要的位?,我总是对右边最不重要的位感到满意,所以它是那么在硬件层面也是如此?
如果我想访问字节中的特定位,那么寻址将如何处理?这就是我的问题
为了使其更清楚,最低地址将用于最重要的“位”或最低有效的“位”
答案 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。当使用具有两种类型接口的系统进行网络通信时,这会产生兼容性问题。