["11000110", "01100011"] 然后我尝试用谷歌搜索“最低有效位”找到一个好的答案,但找不到任-6ren">
gpt4 book ai didi

ruby - 最低有效位优先

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:05 25 4
gpt4 key购买 nike

在开发 ruby​​ 时我遇到了:

> "cc".unpack('b8B8')
=> ["11000110", "01100011"]

然后我尝试用谷歌搜索“最低有效位”找到一个好的答案,但找不到任何答案。

有人愿意解释,或者给我指出正确的方向,让我可以理解“LSB 优先”和“MSB 优先”之间的区别。

最佳答案

这与位的方向有关。请注意,在此示例中,它正在解压缩两个 ascii“c”字符,但这些位是彼此的镜像。 LSB 表示最右边(最低有效)位是第一位。 MSB 表示最左边(最重要的)是第一位。

作为一个简单的例子,考虑数字 5,它在“正常”(可读)二进制中看起来像这样:

00000101

最低有效位是最右边的 1,因为那是 2^0 位置(或只​​是计划 1)。它不会对值(value)产生太大影响。紧挨着它的是 2^1 位置(或者在本例中只是简单的 0),这更重要一些。它左边的位(2^2 或简单的 4)仍然更重要。所以我们说这是 MSB 表示法,因为最高有效位 (2^7) 先出现。如果我们把它改成 LSB,它就变成了:

10100000

简单吧?

(是的,对于所有硬件专家,我知道这会根据字节顺序从一种架构更改为另一种架构,但这是对一个简单问题的简单回答)

关于ruby - 最低有效位优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6739777/

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