作者 | 大小吴
来源 | 大小吴的数学课堂
然后请观察下图:
这五个圈中“随机”排列了1~31这些数字,当你告诉我你的数字出现在哪几个圈中时,我可以在5秒内告诉你你心中的数字是几!
不信?请划到文章最后点击
阅读原文
来玩玩看!!
你一定好奇这是为什么吧!读完本文,你也可以用这个游戏去和朋友,家人一起have fun!且听大小吴为你娓娓道来~
1 什么是二进制?
我们平时在生活中都是用十进制记数的
(这可能是源于人类天然的解剖学特点:有十个手指)
。十进制有0、1、2、3、4、5、6、7、8、9十个数码,十进制最基本的计算规则就是
逢十进一
,在小学中我们也是遵照这样的规则进行竖式计算的:
十进制是人为发明的计算系统,那么推而广之,有十进制就有n进制,比如古巴比伦人擅长使用60进制记数。n进制的规则类比十进制:有0、1、...、n-1个数码,计算时
逢n进一
。
那么二进制就随之出现了,二进制的计算规则是:有0、1两个数码,计算时
逢二进一
,按这个规则计算就会有:
二进制的出现最早可以追溯到中国古代阐述天地世间关于万象变化的辩证法哲学书——《易经》。
易有太极,是生两仪,两仪生四象,四象生八卦。——《易传·系辞上传》
大数学家莱布尼兹是第一个认识到二进制记数法重要性的人,并系统地提出了二进制数的运算法则。二进制对200多年后计算机的发展产生了深远的影响。他于1716年发表了《论中国的哲学》一文,专门讨论八卦与二进制,指出二进制与八卦有共同之处。
2 二进制与猜数游戏
其实猜数游戏背后蕴含的原理就是本文的主角——二进制。
1~31的这些整数原本是按照十进制记数的。它们在二进制下就写作:
我们可以这个数表中添加一些“0”,使整个结构看起来完整一些,这样做并不会改变这些数字本来的大小。
接下来,我们只考虑最后一列,把二进制记数下末尾是“1”的数字单独拿出,放入圈E当中
(比如数字1、3、5……)
我们用同样的方法把倒数第二列、中间列、正数第二列、第一列中符合要求的数字放入圈D、C、B、A中去。根据二进制的计算原理,每个圈中都应该有16个数字。
那么五个“圈”含义就很明显了:圈A包含了1~31的整数中所有第一位是1的二进制数,圈B包含了1~31的整数中所有第二位是1的二进制数……直到圈E包含了1~31的整数中所有末位是1的二进制数。
所以当你告诉我你心中的数在哪几个圈中,就等同于告诉我这个数在二进制下哪几位是“1”
,而A、B、C、D、E这五个圈代表的位值分别是
、
、
、
、
。实际上,你的每一个选择对应的二进制数都是
唯一
的。比如,你选择的数是
23
,它出现在圈A、C、D、E中,只要计算