话说,虽然题主的表达方式确实是错的,在嘲笑题主的同时,但难道各位不知道3进制确实比2进制更节省存储空间吗?更接近e的进制是更节省空间的,显然3比2更接近e,所以三进制节约空间是有道理的,只不过题主他看错了方向。
1到100000这个范围的正整数里,2进制更省空间的有8488个,3进制更省空间的有76226个,其余15286个是占空间相等的情况。
当然了,三进制补码很难看,估计会被人骂死。换了我,我也不喜欢用三进制,太反人类了。
-----------------------------------------
看来很多人还是没明白,我再补充一些:
本来想自己算,但发现有人已经给算过了(zz from newsmth e进制是信息表示的最优解):
假定总共有n位,每位m个状态,m*n=v
在v一定时,使得m^n最大
也就是k(n)=(v/n)^n最大
考虑一般情况下
ln(k(n))=(ln(v)-ln(n))*n=ln(v)*n - ln(n)*n
对n求导 ln(v) - (n*1/n + ln(n)) = ln(v) - 1 - ln(n)
解得ln(n)=ln(v)-1是k(n)唯一的极值点
易知是k(n)最大值点
所以n=v/e m=e时,k(n)最大
所以数学上就可以证明三进制比二进制更省空间。
有人说二进制存储器更便宜,那是因为现代计算机已经选择了二进制,所以硬件制造商自然会寻找更廉价的二进制存储设备,这是一个互相影响的过程。
是时候设计无穷大进制了
这样就可以把任意信息压缩到一个符号
香农,给,吃苹果
Update 1: 题目现在这个表述的话
那其实是压缩编码...
压缩的代价是解码表会变大...
和那个 进制最优不是一回事...
Update 2: 说个题外话...
Code Golf...现在不堪入目
就是被这种破压缩法搞的...
J语言,Befunge语言还算好的...
Jelly(Python),MATL(Matlab),Japt(JavaScript)这种什么玩意儿...
一个巨大的编码表,用UTF字符代替函数...
为了短而短,恶心死了...