直到那位歼敌者文明观察员的意志投影消失,邱睿也没给出一个准确的答复。
他不清楚现在就和一个真正的5级文明,算不算是与虎谋皮。
不过观察员也没指望他会立即给出回复,临走前还展示了一串意义不明的字符串,让他等想好了再联系。
回想着那串形式上全部由三种从未见过的字符构成的串列,邱睿大概能猜到,这玩意应该是一串三进制数字,或许是对方计算机底层的逻辑结构。
别看蔚蓝联邦这边现在什么碳基芯片、量子计算机早就投入使用了,但这些设备的底层架构,还是没有逃出最早的冯诺依曼计算机体系,采用的仍是二进制。
公里公道讲,二进制并不是效率最高的。
先说结论,理论上e进制才是最高效的。
e的大名叫自然常数,也叫欧拉数,是一个大约为2.71828的无限不循环小数。
为啥说e进制效率最高呢?
先说说什么是效率。
科学的理解是,在表达相同信息量的前提下,谁消耗的元件更少,谁的效率也就越高。
举个例子,用牌子来表达0到999的一千个数字,如果采用十进制,那就要用到0到9的十个牌子,并且需要三组,也就是共30个牌子。
如果用二进制来表示这一千个数字,因为十进制的999相当于二进制的1111100111、最高10位,那我们需要10组的0和1就够了,也就是20个牌子。
同理,三进制下需要7组的0、1、2,也就是21个牌子。
以此类推,四进制需要20个牌子,五进制需要25个牌子,六进制需要24个牌子,七进制28个,八进制32个,九进制36个。
谁用的牌子越少,就代表谁在这个实例中的效率越高。
显然,在用牌子表示0到999的问题上,赢的是二进制和四进制。
但是,这只是表象。
因为在这个过程中,除了十进制外,每种进制都或多或少出现了资源浪费现象。
比方说二进制在实验中用了十个位数,也就是2的10次方,实际上并不止能表达0到999的十进制数字,最大可以到1111111111,也就是十进制的1023。
而采用了七位的三进制,最大为2222222,转换为十进制就是2186。
所以你看,在这个案例中,三进制比二进制能多表达1163个数字。
用数学的方式科学归纳一下“需要几位数”这个问题时,是这么考虑的。
二进制的情况下:log₂1000≈
向上取整,二进制的情况下需要十位数,每位数两个牌子,刚好20个牌子。
同理,三进制的情况是:log₃1000≈
向上取整需要七位,7×3=21,三进制需要21个牌子。
因为前面说过,除了十进制外无论哪种进制都很浪费资源,但如果假设需要的位数可以不是整数,是不是就不需要向上取整。
于是我们跳出0到999的局限,把问题放大到位了表示M个数,在n进制下需要多少个牌子,就需要n×logₙM个牌子。
而效率可以由此归纳为:E=M/(n×logₙM)
简单求导一下就可以知道,原函数可以取到的最大值为就是e,那个2.71828的无限不循环小数。
综上所述,e进制是效率最高的。
可也没见谁数数的时候把某个手指劈出来0.71828根是不?
所以进制这种东西还得用整数,不然工程上永远无法实现,
因为3比2离2.71828近,由此可以得出最终结论:
在数据表达上,三进制的效率是最高的,其次才是二进制。
但上述这些知识也就高中水准,说白了是个十几岁的孩子都能算明白,为啥联邦的计算机到现在还是二进制?
事实上人类对三进制的尝试也不是没有过。
大老苏在公元1958年时就弄出三进制计算机了,用的还不是普通的0、1、2奉三进一的三进制,而是平衡三进制,也叫对称三进制,由-1、0、1构成。
对应的逻辑电路就是负电压、零电压和正电压。
这玩意可老巧妙了,它能表达出全部的整数,而由于-1的引入,对负数不必使用额外的负号。
相比之下,二进制是无符号数字,不能直接表示负数。
所以平衡三进制就是在普通三进制的基础上,对二进制形成了的双重效率碾压。