收到网友的评论,我前几天发的“十进制转二进制”的文章,网友表示没有程小奔机器人,是否可以做一个scratch版本的,放心!这就安排!
二进制的故事我们这里就不科普了哈!想要回顾的请移步“百度百科”,嘻嘻
首先我们来看一下1~16的一个二进制与十进制的对照表格:
以上表格就是0-16的表达对照
这种方法就是我之前文章的“思路1”,感兴趣的网友们可以去看一下我之前的文章
链接→scratch+程小奔机器人实现“进制转换”(十进制转二进制)
这次我们主要说一下“短除法”思路解决十进制转换为二进制
举两个例子:23和35
上面这个符号大家可以理解为“23除以2等于12写在下面,余1写在左边”
这是我们将最下面的1和右侧的“余数”自下向上的连接起来,23转换为二进制写成“”。这样的道理可以理解么?后面两道题大家在有这种方法试着转换一下,是不是简单多了?嘻嘻
这时我们将最下面的1和右侧的“余数”自下向上的连接起来,35转换为二进制写成“”。
接下来我们开始scratch编程部分啦!
建立三个变量:二进制、商、余数。看看这三个变量名字是不是跟我们的运算过程很是接近?
每一次运算我们都要进行对2的除法运算,那么就会产生商和余数,商再进行运算还会产生新的商和余数……,余数积累起来就是我们要的结果“二进制”(这里大家先简单地理解一下这个三个变量),大家自己在变量命名的时候也要有意义,不能随便,很多同学在学习初期就是随便命名变量,最后自己也不知道是什么。
变量接着我们使用“询问”和“回答”语句块,对使用者输入的自然数进行读取
询问和回答然后我们使用“重复执行……直到……”语句,对“短除法”的计算进行模拟,
商是使用者输入的自然数,余数是除法运算后的结果,二进制初始化为“空”,所以每次的余数都会在这里进行连接,接着商再次进行除2运算,等待的1秒是为了减慢运算过程,让大家看清楚整个计算过程,不然运算一闪而过。
除法运算完整的脚本:
最后的行语句,搭建一定可以理解
就是说一下“自然数转换为二进制的值”,之后等待按下“空格”键,再开始新的循环(这就是我使用“重复执行”语句的原因,方便使用者多次使用)
完整脚本运行界面:
输入19,显示“19转化为二进制结果为:”
运行界面这里我们制作了二进制的转换,大家通过这次的学习,是不是可以尝试一下“8进制转换”、“16进制转换”(16进制牵扯到ABCDEF字母,所以可以使用列表来做),这次的分享就到这里了,希望可以让没有程小奔机器人的同学也体会到学习二进制的快乐!
01:37