给女朋友科普计算机知识的日常 - 生活中的进位制

无意间发现自己会时常友好(强行)地和女朋科普(灌输)一些计算机相关概念和知识,今天忽然觉得这些对话还是蛮有意思的,于是准备把这些对话一点点地记录下来,形成一系列长期维护的博客文章。


生活中的进位制

我:大黄,你听过「进制」这个词吗?比如十进制、二进制这样子。

黄:我知道的,还有八进制!

我:那你还知道其它更多的吗?

黄:emmm,我只知道最高的是十六进制。

我:不是的,你想一下我们生活中的时间是怎么表示的。

黄:时间?六十?

我:对的,比如把 01:30:15 时间值换算成秒的过程是 15s + 30m * 60 + 1h * 60 * 60,时间就是这样的六十进制。

我:再比如 123 块钱其实就是 100 + 20 + 3 块,这就是十进制的换算过程。

我:其实生活中还有很多其它进位制的,像一些手表的表盘上会用的罗马数字(I、II、III、IV、V)其实是一种五进制。

黄:我知道那个罗马数字!王者荣耀的段位就是用这个来表示的。

我:对的,还有在一些投票场合用来统计人数的「正」字计数其实也是五进制。

我:我们已经说过了五进制、十进制、六十进制,其实还有其它进制。不知道你有没有注意过微博里的短链接,它其实是一种六十二进制。

我:这些短链接的结尾都是由大小写英文字母加上数字组成的,26 个大写英文字母 + 26 个小英文字母 + 10 字数字正好是 62。

黄:噢…我知道那些数字是这样组成的…我们在 **** 平台上给客户发送的也是短链接。

我:嗯,1 个六十二进制的符号可以表示 62 个数字,2 个六十二进制的符号可以表示 62 * 62 个数字,N 个六十二进制的符号可以表示 62^N 个数字。

我:微博里的短链接里会用 8 个六十二进制的符号,可以表示 62^8 个数字,大约是 2183401 亿个数字。

黄:好牛喔~

(打开手机,翻了一些营销短信)

我:这些营销短信里用的都是短链接,而不是用原始的长链接,这儿的一个原因是因为短信内容是有长度限制的,所以就让用户先访问短链接,然后再跳转到原始的长链接。

黄:喔~

我:我们再来说下计算机中的进制。

黄:我知道的,是二进制!

我:对,我们在中学都学过这个,二进制就是只有 0 和 1 两个符号。

我:还有,3 个二进制的符号可以表示 2^3 个数字,也就是 8 个数字。所以我们也会用 0 到 7 这几个符号表示 3 个二进制的符号,这个也就是八进制。

我:还有,我们会用 0 到 9 和 A 到 F 这几个符号表示 4 个二进制的符号,因为 4 个二进制的符号可以表示 2^4 个数字,也就是 16 个数字,这个也就是十六进制。

我:所以二进制、八进制和十六进制的关系是很密切的!

我:我们在生活中计数时用的是十进制,会用 0 到 9 这 10 个阿拉伯数字,不过在玛雅文明中计数时用的是二十进制,你知道为什么会这样吗?

黄:我知道那个太阳历…

我:我们会用十进制的原因是因为人类只有十个手指。

黄:因为他们(玛雅人)算上了手和脚!

我:是哒!


系列文章