吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1326|回复: 8
收起左侧

[求助] 既然文件都是二进制那转成十进制按科学计数法不就能极限压缩吗?

[复制链接]
ppgjx 发表于 2023-1-25 15:59
既然文件都是二进制那转成十进制按科学计数法不就能极限压缩吗?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

tunnel213 发表于 2023-1-25 16:09
请问1234567890用科学计数法如何写?
owouwu 发表于 2023-1-25 16:15
本帖最后由 owouwu 于 2023-1-25 16:30 编辑

你科学计数法那小数点后面的数字储存也要占用储存空间啊……
建议看一看香农的论文《A Symbolic Analysis of Relay and Switching Circuits》和《A Mathematical Theory of Communication》再来讨论这个问题。
wihn 发表于 2023-1-25 16:42
举个例子,比如00001111,二进制占用了1B空间。改写为你的方法:1.5*10^1,8个字符,需要8B空间。
gzsklsskszngc 发表于 2023-1-26 00:10
转换成十进制按科学计数法压缩只是一个概念,实际实现起来还有很多难度,这只是一个让文件占用更少存储空间的方式,它并不能将文件所占空间尽可能压缩到最小。更多的是改变文件存储方式以节省空间,而不是去真正的压缩。
小能维尼 发表于 2023-1-26 00:30
no、no、no
科学计数法,并不是一个好的压缩方法。不是么
3.8*10^256,相比38后面256个0,好像是压缩了,但这只是特例。
不知道的,还以为进了弱智吧呢,像回了家。
老伙计 发表于 2023-1-26 11:31
本帖最后由 老伙计 于 2023-1-26 13:05 编辑

          问题的关键是,浮点数只能用来近似地表达数值,用浮点数表达整型数会带来舍入误差。
          一般的浮点数只能保证7位有效数字精度,双精度数也只能保证16位数字精度,什么意思呢,如果用双精度浮点数来表达一个1000 位的整型数(不要较真,双精度浮点数的确表达不了这么大的数,只是为了方便说明问题,实际上,把 1000 改成 300 说明的道理是完全相同的),只需要用 8 个字节,即便是按文本方式用科学计数法表达,也只需要区区 21 个字符而已,看上去似乎是简洁了不少,但是,这样做的后果是,只有开头的16个数是有精度保证的,后面的984个数都是野的,也就是说,在把整型数浮点化的过程中,只保留了1000位数中前16位数的信息,后面984位数的信息并没有得到保留,对于一个数字而言,前16位数已经代表了整个数字的关键趋势,在很多情况下,其精度是可以被接受的,但是,对于信息编码而言,这种转换造成了绝大多数(98.4%)信息的丢失,从而使这一过程完全不可逆,也就是说,无法根据浮点数还原出原来的整型数。至此,楼主还要坚持认为用科学计数法是极限压缩文件的好方法吗?
bigcan 发表于 2023-1-26 15:54
1、存储在物理介质里,必须是二进制的,因为只有高低电平
2、必须有固定格式,八位一个字,就是格式,没有这个,你是不会知道哪里开始,哪里结束
3、现在向量图是以楼主说的类似的方法保存,但这个在修改与更新,读取写入等方面,都大大增加CPU的负担
4、计算机的算法,关键并不是某个点上最优,而是平衡后的最优。
5、据说。。。前苏联开发了三进制计算机,是当时的性能之王,无奈是没有产业链支持,日本也尝试开发自己的计算机架构,最后也是没实现商用。
pickle780 发表于 2023-1-27 23:13
问题在于:用计算机底层硬件实现存储一个数字,用高电平和低电平比测量一个电压的数值要可靠的多,如果是采用电压的话外界有一点电流噪音就寄了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 01:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表