正文 第494章 幻数据压缩算法猜想
作品:《脑回路清奇的主角们》 数据压缩算法循环头部兼或尾部余数补全算法
规则
1定义一个特定长度来分割整个被压缩文件。
2定义一系列的特定长度特定内容的比对大小数据。
3统计被压缩文件总共有多少个二进制0和二进制1;统计被压缩文件换算成17进制,有多少个0到9,a到g;统计被压缩文件换算成十进制三位数的素数进制,各有多少个;统计被压缩文件换算成十进制四位数的素数进制,各有多少个;统计被压缩文件换算成十进制五位数的素数进制,各有多少个;以此类推,文件越大,换算的进制数量越多。
示例
被压缩文件1001010001000011000110111011101111011101110111011101110111011101110111011101110110100100111001
按照7位来分割,就分割成了
1001010
0010000
1100011
0111011
1011110
1110111
0111011
1011101
1101110
1110111
0111011
1011010
0100111
001
记录尾数是001不足7位
然后就是设定特定长度特定内容的比对大小数据
常见的010中间的内容,就是指特定数循环,比如01就是0101010101一直循环下去,直到正好补充完数位,如果没有补充完数位,就是需要有一个余数数据
七位数的010就是0101010;
十一位数的010就是01010101010;
还有一种用法这里按照通配符的方式定义;表示只有一位的任意值;表示有等于或大于一位的任意值
算法表示通则数值a数值b数值c
其中数值a表示开头以什么为开头,然后中间的数值b表示以什么为中间的循环数,后面的数值c表示以什么为结尾;
十三位数的00110就是0010101010110;
十九位数的00110就是0010101010101010110;
常用的数值b的取值
二位数00,01,10,11;
三位数000,001,010,011,100,101,110,111;
以此类推,然而并非所有的取值都会用到,只有用到时,才注册,没用到时,不注册;
注册表
定义
七位数的010是a;0101010
七位数的100是b;1010100
七位数的1010是c;1011010
七位数的0100是d;0100100
0101010a
1010100b
1011010c
0100100d
1001010被注册表定义为大于a,小于b;3个1,4个0;
0010000被注册表定义为小于d;1个1,6个0;
1100011被注册表定义为大于c;4个1,3个0;
0111011被注册表定义为大于a,小于b;5个1,2个0;
1011110被注册表定义为大于c;5个1,2个0;
1110111被注册表定义为大于c;6个1,1个0;
0111011被注册表定义为大于a,小于b;5个1,2个0;
1011101被注册表定义为大于c;5个1,2个0;
1101110被注册表定义为大于c;5个1,2个0;
1110111被注册表定义为大于c;6个1,1个0;
0111011被注册表定义为大于a,小于b;5个1,2个0;
1011010被注册表定义为等于c;4个1,3个0;
0100111被注册表定义为大于d,小于a;4个1,3个0;
示例完毕
为了节省篇幅,以及避免作者使用自然人脑来进行比大小这种运算,而且使用的还是二进制,为了避免麻烦和出错,也就没有使用什么三百位的二进制作为注册表,然而计算机完全可以通过这套算法,生成1kb大小的比大小筛选注册表,从而加速解压缩速度,以及碰撞速度。
当然了,如果是使用1gb大小的比大小筛选注册表,就可以用于zb级别的数据快速解压缩了。
使用循环规则,把一个数控制在尽可能小的范围内,然后使用各种进制的转换,来逆推出其原本是什么数,减少运算次数同时,也加快解压缩速度;减少了大量的无用但必须的运算试错运算。
学编程和做编程,如果不是准备做艺术类的应用程序比如三维内容显示在二维内比如把二维矢量图记录为数据艺术类应用程序也或多或少的接触到数学,基本都是纯数学,怎么现在的编程,都不怎么关注数学了是我坐井观天了么还是编程已经起源于数学,而又超越了数学 ,请牢记:,免费最快更新无防盗无防盗
