压缩文件可以大大节省储存空间,那么计算机是如何做到的呢?
我们平时生活中能不能用到这样的技巧呢?这里来为大家介绍一下,通过进制转换来压缩数据的方法。
我们知道,计算机只会处理二进制,也就是说,它只能储存1和0两个数据,这种进制有一个缺点,就是数据写的非常非常长,比如一个十进制中的19491001,如果将它写成二进制,就是1001010010110100010111001,数据从8位变成了25位,不管是对于人还是对于计算机,这种变化都给记数据带来了非常大的不便。
既然有十进制改成二进制,会让数据变长,那么从二进制改成更高的进制,会不会让数据缩短的?答案是肯定的,事实上,除了二进制和十进制,确实还开发了其他的进制系统,比如每年的月份就是12进制。
十六进制是计算机常用的进制系统,也就是逢16进一。十六进制的前十位,也是阿拉伯数字的0~9,10写作a,11写作b……以此类推,15写作f,到16进一位,也就写作10。二进制中最小的四位数是0000,与十六进制中的0相等;0001与1相等……以此类推,0110等于十进制中的10,也就等于十六进制中的a;最大的四位数是1111,代表了十六进制中的1位数f。这样一来,每一个4位的二进制数都能与一个1位的16进制一一对应。将上面例子中的数变成t六进制就是12968b9,只有7位,比十进制还少了1位。
如果我们采用三十二进制进行压缩的话,那么这组数就是JJT5S,只剩大5位数了,数据的量大大减小了,想要记录它就很容易了。甚至可以对已经压缩过的这组数据再进行一次压缩,让它变得更小。计算机就是通过这样的手段,达到压缩数据的目的的。
为什么4位的二进制数刚好和一位的16进制数一一对应呢?
这是因为二进制的每一位都有能代表0和1两个数,4位数就是4个z相乘,也就是16,所以能与16进4制的数一一对应