百科问答小站 logo
百科问答小站 font logo



能否使用3的指数来减小二进制文件存储的体积? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      

话说,虽然题主的表达方式确实是错的,在嘲笑题主的同时,但难道各位不知道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)最大

所以数学上就可以证明三进制比二进制更省空间。

有人说二进制存储器更便宜,那是因为现代计算机已经选择了二进制,所以硬件制造商自然会寻找更廉价的二进制存储设备,这是一个互相影响的过程。


user avatar    网友的相关建议: 
      

是时候设计无穷大进制了
这样就可以把任意信息压缩到一个符号

香农,给,吃苹果



Update 1: 题目现在这个表述的话

那其实是压缩编码...

压缩的代价是解码表会变大...

和那个 进制最优不是一回事...


Update 2: 说个题外话...

Code Golf...现在不堪入目

就是被这种破压缩法搞的...

J语言,Befunge语言还算好的...

Jelly(Python),MATL(Matlab),Japt(JavaScript)这种什么玩意儿...

一个巨大的编码表,用UTF字符代替函数...

为了短而短,恶心死了...




  

相关话题

  如何证明单位圆周上n个点两两距离乘积的平方当且仅当各点均匀分布时取到最大值nⁿ? 
  有哪些有趣的矩阵? 
  面试 C# 被人问你是如何优化你的代码的,该从哪些方面进行回答? 
  黑客可以厉害到什么程度? 
  integral domain为啥叫整环? 
  两块完全一样饼,如何平均分给三个人? 
  GPU 与 CPU 比较,为什么说 GPU 更适合深度学习? 
  精通 Java 是一种怎样的体验? 
  这个题目怎么解?我一直没有思路。? 
  如何对R中每一行数据求和? 

前一个讨论
中国开发一个主流的手机系统到底能有多难?
下一个讨论
为什么从合肥到济南的高铁经常晚点?





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利