第501章 幻数据压缩算法2-《脑回路清奇的主角们》


    第(2/3)页

    如101001000100001000001000000100000001

    123456789012345678901234567890123456→作者避免自己看看得眼睛疼,所以使用数字在特定字体下宽度和高度是一样的方式,来进行作为标尺,数间隔多少位用的。

    使用跳一位1的方式统计,结果如下:

    奇数次1生效:偶数次1被当做0:1(中间有4个0,其中出现过一次1)1(中间有8个0,其中出现过一次1)1(中间有12个0,其中出现过一次1)+尾数00000001

    偶数次1生效:头数10+1(中间有6个0,其中出现过一次1)1(中间有10个0,其中出现过一次1)1(中间有14个0,其中出现过一次1)

    然后把这些数据比对合并,就能得出源数据。

    使用跳两位1的方式统计,结果如下:

    第一个1对齐:1(中间有8个0,其中出现过两次1)1(中间有17个0,其中出现过两次1)1+尾数00000001

    第二个1对齐:头数10+1(中间有11个0,其中出现过两次1)1(中间有20个0,其中出现过两次1)1

    第三个1对齐:头数10100+1(中间有11个0,其中出现过两次1)1(中间有14个0,其中出现过两次1)1+尾数000000100000001

    也就是说,当1和0不连续的情况出现得越多,那么使用跳n个1(以及另一个注册表中跳n个0)的统计数据,n的取值越大,压缩比例越高;当1和0不连续的情况出现得越少,那么使用跳n个1(以及另一个注册表中跳n个0)的统计数据,n的取值越小(不排除n=0的情况),压缩比例越高;

    =数据对齐算法=

    如:

    101001000100001000001000000100000001

    101010101010101010101010101010101010

    100110011001100110011001100110011001

    123456789012345678901234567890123456
    第(2/3)页