【二进制数】-将计算思维带入数学课堂

数学篇
每年10月24日, 貌似已经被广大程序员称为节日了!!! 原因就在于这个 1024 数, 那它又是怎么个来历呢? 这个就要跟二进制扯上关系了.
所有计算机最底层都是二进制(Binary)数字的序列,我们上网冲浪, 语音聊天, 看电影, 打网游本质上都是在跟0或1在打交道. 每一个数字称为一个比特(二进制位).
这次我将给各位老师分享一篇如何用Wolfram语言图形化解释二进制文章, 还请多多批评指教!
- [原静态示例取自汉生精选: 二进位数一书]
课程名称:二进位数与十进制
适用年级:3- ?
课程目标
  • 掌握如何将十进制数转成二进制
  • 使用编程方式来进行数值转换
  • 利用动态模型来将这些过程图形展示
步骤一
Mathematica 下利用预测助手, 可以用鼠标单击的方式, 将任何输入的数字转二进制, 或者任何一种进制, 或者罗马数字.
步骤二
当然可以用内置的 IntegerDigits 这个命令可以进制的转换. 比如我们可以将数字 7 转成二进制, 并且还可以指定 8 位来进行显示.
步骤三
如果想要用图形华方式展示出来, 可以用 If 判断语句, 如果当前位数为1, 就显示"点亮"灯泡的图片.
比如下面将十进制 8 转为二进制表示就为 1000, 也就是说从右往左的第四个灯泡需要点亮.
步骤四
好的, 我们现在需要用编程中循环的概念来呈现更多的结果.  Table 函数命令可以帮助列出来数 1 ~ 8 相应的图形.
步骤五
把Table命令换成Manipulate, 就可以非常方便做成动态的模型
步骤六
当然如果是要给学生演示的话, 最后还需要修饰一下, 调整布局等等...
或者用小黑块来表示 1 , 白块为 0 , 显示从 0 到 100 的二进制可视化表示.
步骤七
二进制清楚了之后, 再看看 1024 这个数其实就是 2^10, 我们也知道 1024 其实跟整数1000 非常接近. 所以很多时候用十进制 10^3 来估算二进制下的数.
比如 2^31, 即2^(10*3+1) , 就可以用10^(3*3)*2 来估计大约的数量级别.
步骤六
因为电脑内部一切都是基于二进制位的, 所以我们把存储长度为 2^10 容量称之为 KiB . 类似如果是 2^20 称为 MiB ,  2^30 为 GiB ... . 等一下这个好像跟我们平时所见到的并不一样, 原因是在于我们日常都还是习惯用十进制, 就像 10^3 称为 KB(千字节) , 10^6 为 MB(兆字节), 10^9 为GB(吉字节) . 这样也解释了平日接触的光盘或硬盘上, 产品标注的容量大小(用的是十进制)与实际使用(二进制)中有差距的原因了.  (图自: Wikipedia中文)
上面就是利用 Mathematica (Wolfram语言) 创造出来的课堂例子.  如果老师您有更好的创意需要用动态模型展示, 不妨与我联系, 咱们一起去把它实现出来,
好了, 现在让我们在下一篇的计算思维课堂再见. 感谢各位每一位看到这里的老师和朋友! 也祝各位程序员朋友节日快乐!
Thanks!
(0)

相关推荐