本文首发于知乎,原文链接:
https://www.zhihu.com/question/19971994/answer/570107874
回答较长,但是保证有趣。( • ̀ω•́ )✧
这要从文件的本质开始说起,首先,我们用一个简单的例子来演示一下计算机处理文件的过程。
提到计算机,很多人都知道二进制,二进制具体是用来干嘛的呢?是用来保存和表示信息的,计算机里所有的信息,无论是CPU正在执行的指令还是你保存在硬盘里的小姐姐,归根结底都是像下面这样的01序列:
0100100001100101011011000110110001101111
但是当看到这样的序列,不要说一般的电脑使用者,就是程序员也不可能很快地认出这是什么。实际应用中,对于这样的二进制序列,我们往往会做如下处理:
- 以4位为一组,将序列分成若干组。对于上面的序列,分割之后如下:
0100 1000 0110 0101 0110 1100 0110 1100 0110 1111
- 现在我们可以把这些二进制序列看做是10个二进制数,每个数有4位。之后我们把这10个数转换成16进制。转换之后如下:
4 8 6 5 6 c 6 c 6 f
因为4位的二进制数所能表示的最大的16进制数也就只有f,所以这样得到的16进制数可以保证只有1位&#x