熟悉谷歌搜索的朋友应该知道,如果「历史上的今天」有大事发生,或者是某个名人的生辰,谷歌会在搜索框的顶部生成一个涂鸦动画,来传递一些信息。
有兴趣的同学可以查看这个链接 https://www.google.com/doodles#archive,这个网址记录了谷歌涂鸦的各种历史存档,如下图——
昨天,谷歌涂鸦的界面是这样一个图片——
乍一看,就是一串胡乱写的数字。
但是这个图片是一个超链接,我们点击进去,会到谷歌搜索结果页面——
可以清楚的看到,这是为了纪念数学家莱布尼茨的生辰,我只是隐约记得,大学的数学课上,学到微积分的时候,和莱布尼茨有关系,具体信息,原谅我已经忘得一干二净了。
但是微积分和这张图片的1、0有啥关系呢?
翻看了一下尼茨叔的生平,发现二进制也是他老人家发明的,尴尬,我这个学计算机的,之前都以为是图灵或者其他谁发明的二进制,今天才了解真相,尼茨叔真厉害。
但是,谷歌应该不会胡乱将一堆数字放到搜索页,应该有一些玄机,我们来探索一下。
上面的0、1应该表示二进制,为啥是8个放一起,联想到8个二进制是一个字节,就不难懂了。
下面我们将二进制转化成我们熟悉的10进制看看。
ps:2^n 表示 2 的 n 次方。
71 103 111 108 111 101
看到这几个数字,直觉上,应该和 ASCII 码有关,找到 ASCII 码表上数字对应的信息——
71 = G
103 = g
111 = o
108 = l
111= o
101 = e
组合一下:Ggoloe,感觉挺熟悉,Google?还行顺序不对?
噢,原来我提取图片的信息是按照横向的,换成竖向的,对了,
是 —— Google。
原来,谷歌今天是为了莱布尼茨的生辰,而尼茨叔发明了二进制,于是谷歌用尼茨叔发明的二进制,编码生成了 Google 的 01 代码,就是下面这个图片了——