阅读提示:通过阅读本篇文章,你可以知道什么是二进制,了解二进制的历史,如何将二进制转换为十进制,或者将十进制转换为二进制。不需要使用电脑,你也可以与孩子一起玩一些互动游戏,帮助孩子更好的了解二进制。本文内容包含以下几个部分:

1. 什么是二进制
2. 计算机二进制的历史‌‌
3. 二进制与十进制的转换
4. 学习二进制的亲子互动游戏

1. 什么是二进制

「世界上有 10 种人,一种是懂二进制的,另一种是不懂二进制的。」

我们平常用的数字是用十进制来表示的,在十进制里每个数位有十个不同的状态 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],进位规则是「逢十进一」。而在二进制里,每个数位只有两个不同的状态 [0, 1],进位规则是「逢二进一」。在二进制里,从 0 开始计数,0、1、10 (进位一次)、11、100(进位两次)...  二进制里 10 用十进制表示就是 2 。

除了 0 和 1,也可以用其他方式表示二进制中的两种状态,如:开和关、上和下、通电和断电等。二进制是计算机科学中被广泛采用的一种表示信息的方式。计算机之所以使用二进制,是因为二进制有下面的几个优点:

  • 二进制只需要两种状态,实现简单。而计算机由逻辑电路组成,逻辑电路通常只有通电和断开两个状态,而这正好可以用二进制来表示。
  • 使用二进制可以简化运算规则。二进制的运算规则少,运算简单,可以使计算机运算器的硬件结构大大简化。
  • 使用二进制更方便进行逻辑运算。逻辑代数是逻辑运算的理论基础,二进制只有两个状态,正好与逻辑代数中的「真」和「假」相吻合。
  • 二进制与人们习惯使用的十进制可以很容易的相互转换。
  • 二进制状态具有抗干扰能力强、可靠性高等优点。即便受到一定程度的干扰,只有两个状态的情况相互之间仍然可以很明显的区别出来,具有更高的可靠性。

2. 计算机二进制的历史‌‌

二进制还与中国传统的阴阳八卦图有关系。而最早发现这一点同时也是最早提出二进制的人是 17 世纪的德国数学家莱布尼茨(Gottfried Wilhelm Leibniz)。在 1703 年,莱布尼茨发表了文章《论只使用符号 0 和 1 的二进制算术,兼论其用途及它赋予伏羲所使用的古老图形的意义》(Explanation of Binary Arithmetic - 1703),最早发现了这一点,并正式提出了二进制的表示方法。

最早提出二进制表示方法的德国数学家莱布尼茨(Gottfried Wilhelm Leibniz)

伏羲是中国古典神话里的人物,是补天女娲的丈夫。《易·系辞上》说:「河出图,洛出书,圣人则之。」这里面所说的圣人就是伏羲。传说有一天,天马载着河图从天而降,神龟背着洛书从河中浮起,伏羲看后顿悟,总结出了阴阳八卦图:

伏羲发明的中国传统阴阳八卦图

在八卦图里,使用了八个符号表示八个方向。而每个符号都是有三横组成,有的横中间断开,有的不断。如果把连续的横线视为 1,断开视为 0,那么八卦就是乾 111、坎 010、艮 100、震 001、巽 110、离 101、坤 000、兑 011,正好对应二进制的所有三位数字,转换为十进制就是 0~8 八个数字。而这正是莱布尼茨在论文里描述的内容。

Leibniz: Explanation of Binary Arithmetic (1703) 对阴阳八卦图的解释

进入十九世纪后,1854 年英国数学家乔治·布尔(George Boole)发表了一篇里程碑式的论文,其中详细介绍了一种代数化的逻辑系统,后人称之为布尔代数。他提出的逻辑演算在后来的电子电路设计中起到了基础性的作用。而我们现在编程里面的布尔值(bool)就是以乔治·布尔的名字命名的。

再后来,1937 年美国人克劳德·香农(Claude Elwood Shannon)在麻省理工大学完成了其电气工程硕士学位论文《继电器与开关电路的符号分析》(A Symbolic Analysis of Relay and Switching Circuits)。在这篇论文里他使用继电器和开关实现了布尔代数和二进制算术运算,从而奠定了数字电路的理论基础。这篇论文也被称为本世纪最重要、最著名的硕士学位论文之一。

克劳德·香农(Claude Elwood Shannon)

同年,1937 年 11 月,任职于贝尔实验室的乔治·斯蒂比兹(George Stibitz)在自家厨房餐桌上发明了使用继电器表示二进制的设备并将之命名为 Model-K,世界上第一台二进制的电子计算机就此诞生了。

乔治·斯蒂比兹(George Stibitz)和他的发明「Model-K」(K - kitchen table 厨房餐桌)

3. 二进制与十进制的转换

在十进制里,右边第一个数位单位为 1,往左依次为 10、100、1000... 而二进制类似,第一个数位单位同样为 1,往左则依次为 2、4、8... 下面以三位二进制数为例,转化为十进制的简单公式为:

例如:

  • 010 = 0 + 2 + 0 = 2
  • 011 = 0 + 2 + 1 = 3
  • 1011 = 8 + 0 + 2 + 1 = 11
二进制从右往左数位单位转化为十进制依次为:1、2、4、8、16

而十进制转化为二进制,将这一过程反过来即可。你也可以和孩子一起观看下面的视频,以更直观的方式学习二进制与十进制间的相互转换:

少儿编程课程视频:二进制是如何工作的

点击 这里 下载并打印视频里所用的卡片文档,和孩子一起玩一下这个游戏吧!

4. 学习二进制的亲子互动游戏

下面准备了另外一个家长和孩子可以一起玩的线下互动游戏,通过玩这个游戏,可以帮助孩子加深对二进制基本概念、表示方法以及应用场景的理解,并了解计算机如何用二进制存储更复杂的信息 (如图像和颜色)。

知识点:二进制
使用工具:打印 PDF 文档、笔
课程准备:点击 这里 观看视频,下载并打印 PDF 文档。然后按照文档里说明完成这个游戏。

「二进制图像」互动编程游戏

了解更多少儿编程相关科普文章,请参考:
少儿编程之计算思维的新定义:计算思维是我们想要最小化的摩擦,除非它是生成的
少儿编程之编程思想介绍 ——  思想,作为一种技术
少儿编程之 Kill Math 项目介绍:让数学不只是符号
少儿编程之 Dynamicland 项目介绍:可视空间与设计工坊
少儿编程之随机数:计算机里的随机数,真随机数与伪随机数

了解家庭教育方面的信息,请参考:
关于儿童如何学习的背景思考
决定孩子成功的关键是什么?家长应该注重孩子哪些特质的培养?对于孩子的学习,家长应该更注重结果,还是过程?
青少年必备书单:最适合孩子阅读的 100 本经典图书;少儿书单;儿童必读书籍;少儿图书推荐;青少年必读图书

扫码下面二维码,关注我们的公众号,阅读最新文章或观看更多视频教程:

校外课少儿编程 公众号