我正在阅读《计算机系统:程序员的视角》,我不明白为什么位向量 a = [01101001] 编码集 A = {0, 3, 5, 6}?
我做了一些谷歌搜索,但没有找到任何有用的东西。我还尝试过 ChatGPT 和此视频:https://www.youtube.com/watch?v = SYoJ6gUXZvc 。不过,我还没弄清楚......也许在弄清楚这个问题时存在一些隐藏的先决条件,比如离散数学?
我正在阅读《计算机系统:程序员的视角》,我不明白为什么位向量 a = [01101001] 编码集 A = {0, 3, 5, 6}?
我做了一些谷歌搜索,但没有找到任何有用的东西。我还尝试过 ChatGPT 和此视频:https://www.youtube.com/watch?v = SYoJ6gUXZvc 。不过,我还没弄清楚......也许在弄清楚这个问题时存在一些隐藏的先决条件,比如离散数学?
编码是“我们”在计算机世界和非计算机世界之间进行转换时做出的选择。
例如,在一个关于光的项目中,
0
可能意味着daytime
并且1
可能意味着night time
。在该项目的背景下,这将是这些概念的有效编码。在您的示例中,上下文是关于整数集的。
set
如果对应的索引存在于该组中,则一种“自然”编码是具有该位组的每一位。那么关于顺序有 2 个同样自然的“选择”。一种方法是对位进行索引:[0, 1, 2, 3, 4, 5, 6, 7, ...]。另一种是将它们索引为 [7, 6, 5, 4, 3, 2, 1, 0]。请注意,如果使用第二种方案,请将结果位设置为
{0, 3, 5, 6}
您[01101001]
的确切数据。这纯粹是一种选择,尽管是一种相当“自然”的选择。根据上下文和人们想要对集合执行的操作,不同的编码选择可能会变得更好。