三位数:000,001,010,011,100,101,110,111;
以此类推,然而并非所有的取值都会用到,只有用到时,才注册,没用到时,不注册;
注册表:
定义:
七位数的01←+0是a;0101010
七位数的10←+0是b;1010100
七位数的101←+0是c;1011010
七位数的010←+0是d;0100100
0101010a
1010100
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级别的数据快速解压缩了。
使用循环规则,把一个数控制在尽可能小的范围内,然后使用各种进制的转换,来逆推出其原本是什么数,减少运算次数同时,也加快解压缩速度;减少了大量的无用但必须的运算(试错运算)。