信息是什么?为什么要选择二进制作为计算机语言的基础

1643 2021-03-02 10:45

信息可以减少不确定性。事件的不确定性是以其发生机率来量测,发生机率越高,不确定性越低,事件的不确定性越高,越需要额外的信息减少其不确定性。位元是典型的信息单位,但也可以使用像纳特之类的单位,例如投掷一个公正的硬币,其信息为log2(2/1) = 1 bit,投掷两个公正的硬币,其信息为log2(4/1) = 2 bits。

 

在绳子上打了10个结计数,这个信息有没有质量?质量和打1个结的有什么不同?

 

 

作者:刘能斌
链接:https://www.zhihu.com/question/26023078/answer/39897682
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 


为什么计算信息量要用以2为底的对数

常用对数是以10为底的,即若10x,则有log10y=x。但是在信息论中,信息量的大小则是用以2为底的对数来衡量的。

我国古代的烽火台是传递信息的工具。如果烽火台燃起烟火,表示敌人来犯。否则,表示敌军未动。它传递的信息只有两种情况:“有”或“没有”。这是最简单的通信情形,我们拿它作为信息量的单位,称为“1比特”。用数学的语言来说,即只含有0(无烟)和1(有烟)两种情况的通信,其信息量定义为log22=1。

假如说,锋火台上有两支烟囱,甲烟囱表示敌人情形:进犯(1),或未进犯(0)。乙烟囱表示我方情形,需增援(1),或不需增援(0)。这样我们就得到四种情况:

甲乙

(0,0)敌人未来,不需增援;

(0,1)敌人未来,需要增援;

(1,0)敌人进犯,不需增援;

(1,1)敌人进犯,需要增援。

这样,我们所知道的信息比以前多了,它所含的信息量应该是log24=2(比特)。

容易想象,三支烟的烽火台可传递8种情况的信息,即:(0,0,0);(0,0,1);(0,1,0);(0,1,1);(1,0,0);(1,0,1);(1,1,0);(1,1,1)。这时的信息量自然就应该是log28=3(比特)了。

更复杂的情形的信息量都是从这种最简单的情形变化而来。正由于最简单的信息只具有两种可能,因此计算信息量时采取以2为底的对数可以获得最基础的信息量值1;而当信息以y=2x发生变化的时候,用log2y=x计算信息量就能正确反映出信息量的真实情况。

 

为什么选择二进制而不是其他的进制,因为凡事都要有取舍。都有两面性。当你选择用一种进制去表示信息或者情况的时候,就会舍去这个进制表达的其他的情况,如果选用10进制来表示一种情况,那么剩下的9种情况,占用的空间就被浪费了。而相对于选择和舍弃,二进制则是浪费占比最低的。50%。所以以二为底的对数来表达信息是很有必要的。而二进制是以0开始并不是以1、2表示,所以,计算机的索引、序号、都由0开始。

当你选择一种情况的时候,你需要回过头来看看,你浪费了多少种情况。同样的信息,你选择了1种,和你否定了9种的效果是一样的。那么这个占比就相当昂贵了。

全部评论

·