就像组成物质世界的是无数个原子一样,庞大的计算机虚拟世界实质上是由无数个“1”和“0”组成的。
因为计算机只认识二进制。
二进制,顾名思义是一种逢二进一的数制,例如十进制中的2,在二进制表示为10,以此类推,3为11,4为100,5为101……
也就是说,我们不管使用哪种编程语言发出指令,最终都会被转换成1和0,计算机才“听得懂”。
今天,我们就从二进制入手来“玩”编程。
我们准备了一个不需要使用任何电子设备二进制游戏,选自Google公司和新西兰Canterbury大学支持的 “Unplugged(不插电)” 计算机科学公益项目。
游戏步骤如下,来看看美国学生是怎样体验二进制的。
1.准备五张卡片,按如图顺序排列:
2.让孩子观察卡片上点数的特性,让他/她预测:如果再在左边放一张,卡片上会有多少个点?再左边一张呢?
3.把卡片全部翻过来,背面朝上。你可以随机说一个0-31之间的数字,让孩子翻卡片来表示这些数。例如你说6,则应该引导孩子翻开4点和2点这两张,以此类推。
最后问孩子一个问题:这五张卡片能表示的最大和最小的数分别是什么?(最大为31,但请注意最小是0不是1,因为卡片可以全部背面朝上,没有一个点数)
4.尝试着从0开始,依次用卡片表示数字。让孩子密切注意卡片被翻开的规律变化,试着引导孩子发现这条规律:每张卡片被翻开的次数,是右边卡片的一半。
5.卡片翻面时用0表示,翻开时用1表示,这就是二进制——告诉孩子这个定义,然后考考他/她,各个数字用二进制该如何表示?
【题目1】17在二进制中如何表示?10101、11111分别是十进制里的哪个数?多试几次,看看孩子是否已经理解了。
【题目2】提高难度,做一道延伸练习。
延伸小游戏:汤姆圣诞历险记
汤姆被困在百货大厦顶层了!圣诞节快到了,他想回家,怎么办?
汤姆大声求救,可附近根本没人。不过他看到对面大楼中有一些程序员深夜里还在工作。汤姆灵光一现——他可以用圣诞树上面的灯给对面大楼的程序员发求救信号!
他找到了所有灯泡,然后插上电源,这样就可以开关这些灯泡了。他拟了一则简单的二进制代码发出了求救。汤姆究竟说了什么?根据表格里圣诞树的信号,对照字母表,试着帮汤姆翻译出来吧。
理解了二进制,现在用手指来数数吧,可以从0数到1023,一共1024个数字!等等,你说只能数到10?因为只有十根手指头。错了!你可以用手指向上表示1,向下表示0,这样就能数到1023了。
【题目3】那么,请问图上外星人的手可以表示的最大数字是多少呢?
【题目4】想一想,学习十进制的时候,把一个0放到一个数字右边,等于把这个数字乘以10,举例来说,9会变成90,30会变成300。
但在二进制的世界中,当我们把0放到右边时,会发生什么事呢?试试看:
多试几个其他数字来证明你的猜想。
以上的游戏,孩子们觉得有趣吗?我们希望这个游戏能让孩子的好奇心萌动起来。
领取专属 10元无门槛券
私享最新 技术干货