三位数:000,001,010,011,100,101,110,111;
以此类推,然而并非所有的取值都会用到,只有用到时,才注册,没用到时,不注册;
注册表:
定义:
七位数的→01←+0是A;0
七位数的→10←+0是B;
七位数的→101←+0是C;
七位数的→010←+0是D;0
0A
B
C
0D
被注册表定义为大于A,小于B;3个1,4个0;
00被注册表定义为小于D;1个1,6个0;
被注册表定义为大于C;4个1,3个0;
0被注册表定义为大于A,小于B;5个1,2个0;
被注册表定义为大于C;5个1,2个0;
被注册表定义为大于C;6个1,1个0;
0被注册表定义为大于A,小于B;5个1,2个0;
被注册表定义为大于C;5个1,2个0;
被注册表定义为大于C;5个1,2个0;
被注册表定义为大于C;6个1,1个0;
0被注册表定义为大于A,小于B;5个1,2个0;
被注册表定义为等于C;4个1,3个0;
0被注册表定义为大于D,小于A;4个1,3个0;
[示例完毕]
为了节省篇幅,以及避免作者使用自然人脑来进行比大小这种运算,而且使用的还是二进制,为了避免麻烦和出错,也就没有使用什么三百位的二进制作为注册表,然而计算机完全可以通过这套算法,生成1KB大小的比大小筛选注册表,从而加速解压缩速度,以及碰撞速度。
当然了,如果是使用1GB大小的比大小筛选注册表,就可以用于ZB级别的数据快速解压缩了。
使用循环规则,把一个数控制在尽可能小的范围内,然后使用各种进制的转换,来逆推出其原本是什么数,减少运算次数同时,也加快解压缩速度;减少了大量的无用但必须的运算(试错运算)。