资源简介 学科融合:二进制数与十进制数的转换(今日任务:)今日我们来利用 scratch 制作二进制数到十进制数的转换小程序,我们在现实生活中最 常见的就是十进制数,从 0~9,运算时逢 10 进 1,那么什么是二进制数呢?我们先来了解一 下:二进制数(binaries)是逢 2 进位的进位制, 0 、1 是基本算符; 计算机运算基础采用二 进制。电脑的基础是二进制。在早期设计的常用的进制主要是十进制(因为我们有十个手指, 所以十进制是比较合理的选择, 用手指可以表示十个数字,0 的概念直到很久以后才出现, 所以是 1-10 而不是 0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂, 所以所有的电子计算机中只有两种基本的状态,开和关。也就是说, 电子管的两种状态决定 了以电子管为基础的电子计算机采用二进制来表示数字和数据。常用的进制还有 8 进制和 16 进制,在电脑科学中, 经常会用到 16 进制, 而十进制的使 用非常少,这是因为 16 进制和二进制有天然的联系:4 个二进制位可以表示从 0 到 15 的数 字, 这刚好是 1 个 16 进制位可以表示的数据, 也就是说, 将二进制转换成 16 进制只要每 4 位进行转换就可以了。二进制的“00101000”直接可以转换成 16 进制的“28”。字节是电脑中的基本存储单 位,根据计算机字长的不同,字具有不同的位数, 现代电脑的字长一般是 32 位的, 也就是 说,一个字的位数是 32。字节是 8 位的数据单元,一个字节可以表示 0-255 的十进制数据。 对于 32 位字长的现代电脑,一个字等于 4 个字节,对于早期的 16 位的电脑, 一个字等于 2 个字节。那么如何将一个二进制数转换成十进制数呢? 我们来看一个小例子:我们要将二进制数 01100100 换算成十进制,我们可以如下操作:用横式计算为:(0 *20+0 *21+1 *22+1*23+0 *24+1*25+1 *26+0 *27=100)二进制数从右边数的第一位 x 20 即乘以 1二进制数从右边数的第二位 x 21 即乘以 2二进制数从右边数的第三位 x 22 即乘以 4二进制数从右边数的第四位 x 23 即乘以 8二进制数从右边数的第五位 x 24 即乘以 16二进制数从右边数的第六位 x 25 即乘以 32二进制数从右边数的第七位 x 26 即乘以 64二进制数从右边数的第八位 x 27 即乘以 128(Y) (存在>1的数字?)(本课重难点:)(1)了解知道什么是二进制数? 为什么电脑的运行要采用二进制数(0 和 1)?(2)会将任何一组二进制数转换为十进制数。了解 8 进制与 16 进制数与十进制数的转换。(任务解读flowchart:)开 始输入 8 位二进制数(输入的数字是否)N将输入的二进制数转换为十进制数(将转换结果显示)结 束(跟我来挑战Followme:)第一步:启动 scratch 软件;第二步: 点击上方的“文件”→“保存”→保存到桌面,文件名: 二进制数转换为十进制 数→点击“保存”;(第二步很很很重要,我希望所有的学生都能养成及时保存作品的好习惯!)第三步: 角色设计(本程序共需要两个角色)其中这个角色包含两个造型第四步: 代码解读(课后思考:)(1) 在显示上方 0 、1 等图形数字的时候,有没有更高效的程序来实现这个效果?(2) 如果我想判断输入的二进制数是否超过 8 位或者不足 8 位, 如果超过 8 位或者不足 8 位都要求用户重新输入,这样一来程序应该怎样设计?(3) 自学一下将 10 进制数转换为 2 进制数的方法,能用程序来实现么? 展开更多...... 收起↑ 资源预览