我们也可以一开始就声明值为1的比特位表示没有竖起拇指,值为0的比特位表示竖起了,这可能有点违反常规。通常我们会认为值为1的比特表示赞成,而值为0的比特则表示反对,但是实际上这是可以任意调换的。只要每个使用代码的人知道0和1都具体表示什么意义即可。
某一位或一连串比特位所表示的意义通常是和上下文有关的。系在一棵橡树上的黄色丝带可能仅仅是对于把它系在那里的人和希望在那里看到它的人才有意义。改变丝带的颜色、系丝带的树或者系丝带的日期,它就可能成为一块没有任何意义的破布。同样,想从西斯科和艾伯特的手势中得到有用的信息,我们至少需要知道他们讨论的是哪部电影。
如果你保留了一份西斯科和艾伯特对于电影的评价和投票结果,你就可以在反映他们意见的比特信息中再添加一个比特位,来表示你自己的看法。添加第三个比特位将使得其代表的信息可能性扩展到8种:
000=西斯科讨厌它,艾伯特讨厌它,我讨厌它
001=西斯科讨厌它,艾伯特讨厌它,我喜欢它
010=西斯科讨厌它,艾伯特喜欢它,我讨厌它
011=西斯科讨厌它,艾伯特喜欢它,我喜欢它
100=西斯科喜欢它,艾伯特讨厌它,我讨厌它
101=西斯科喜欢它,艾伯特讨厌它,我喜欢它
110=西斯科喜欢它,艾伯特喜欢它,我讨厌它
111=西斯科喜欢它,艾伯特喜欢它,我喜欢它
利用二进制表示信息的一个额外的好处就是我们可以清楚地知道我们是否已经想到了所有的可能性。我们知道在这种情况下有且仅有8种可能性,不多也不少。如果用3个比特位,只能从0数到7,后面不会再有其他的三位二进制数存在了。
在描述西斯科和艾伯特意见的比特位中,你可能一直在考虑一个非常重要而且令人不安的问题,这个问题就是:对于李纳德·马丁的“电影及电视指南”我们该怎么办呢?毕竟李纳德·马丁不用手指来评价电影,他用的是一种更传统的星级系统来评价。
编码—隐匿在计算机软硬件背后的语言
76