陈凯
除了用来记录文字,Windows里的记事本(Notepad)还有许多意想不到的用处,教师在讲二进制的时候,不妨试试下面几个小游戏。
记事本计数器
在记事本中按顺序写下0到15对应的二进制数,即0000、0001、0010一直到1111共16个二进制数(如下图),总共需要多少时间,试一下吧。
大家也许不会相信,稍加练习,就能够在8秒钟之内写出0到15所对应的共16个二进制数。怎么做到这一点呢?打开记事本,先将字体设置为宋体72号,并将输入法设置为全角输入;再把记事本拉到只能显示一个字符的宽度(注意:“格式”不能设置为“自动换行”)。在文本中用键盘快速敲打8个0和8个1共16个字符,按回车键;然后再快速敲打4个0和4个1,反复两次也是16个字符,按回车键;再敲打2个0和2个1,反复四次也是16个字符,按回车键;再敲打1个0和1个1,反复八次还是16个字符。最后,只要点记事本下方的滚动条,就可以看到0到15对应的二进制数按顺序依次出现了,并且还能产生类似动画片的效果。所有这一切在8秒内就能完成。
记事本中的进制转换
大家可能知道,通过除二取余法,可以将十进制数转换成二进制。但有趣的是,使用记事本的查找替换功能,也能够模拟除二取余的运算。
在记事本中输入若干“*”,“*”的个数就是想要转换的十进制数,在“*”后加个“e”作为结束标志。例如,想知道6的二进制是多少,就在记事本中输入6个“*”和1个“e”。然后,只要反复执行下面这四步操作,就可以知道6的二进制数是多少了。
①“**”全部替换成“#”;
②“#e”全部替换成“#e0”;
③“*e”全部替换成“e1”;
④“#”全部替换成“*”。
在输入过程中,不管中间字符串变成了什么,只要反反复复执行这四步就可以了,当字母“e”移到整个字符串最前面的时候,就可以看到,整个字符串变成了“e110”,“110”就是“6”的二进制数。以下是针对数字“6”作运算的全部过程。
第一轮:①******e ②###e ③###e0 ④***e0;
第二轮:①#*e0 ②#*e0 ③#e10 ④*e10;
第三轮:①*e10 ②*e10 ③e110 ④e110。
记事本加法器
利用满二进一的二进制加法原理,可以很方便地在记事本中做一个加法器,并且替换规则也只有简单的一条,更妙的是,还能同时对多个二进制做加法。
首先,打开记事本,输入若干“*”,数量多一些没关系,不需要很精确;接着,将需要做加法的二进制数依次填到两个“*”中间,最右面的两个“*”之间填二进制数最低位,右面数起第二和第三个“*”之间填第二位二进制数,右面数起第三和第四个“*”之间填第三位二进制数,但只填写1,不填写0,以此类推。例如:
计算:11011+110+110011+101+11111