其他进位制的数也可以表示成不同位上的数字与基数的幂数的乘积之和的形式,如:
110011(2)=1×25+1×24+0×23+0×22+1×21+1×20
7342(8)=7×83+3×82+4×81+2×80
各种进位制之间如何转化呢?
看第一例,把二进制数110011(2)转化为十进制数。首先进行分析,先把二进制数写成不同位上数字与2的幂的乘积之和的形式,再按照十进制数的运算规则计算出结果,步骤如下:
110011(2)=1×25+1×24+0×23+0×22+1×21+1×20
=1×32+1×16+1×2+1
=51
即时归纳总结:非十进制数转化为十进制数,只要按下面的式子计算即可:
anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1k1+a0k0
接下来,王老师用同样的方法,通过举例、分析、现场做题、即时总结的步骤来帮助学生完成把k进制数a(共有n位)转化为十进制数b的学习,并请学生到黑板上进行演算,画出框图。
还是通过同样的方法,王老师举例:把89化为二进制数,根据二进制数“满二进一”的原则,用2连续去除89或所得商,然后取余数。同学们齐声说,王老师在黑板上演算,课堂气氛骤然变得活跃起来。
即时总结:这种方法叫做除2取余法,用这种方法也可以推广为把十进制数转化为k进制数的算法,称为“除k取余法”。
由此引出下一个例题,也是下一个知识点,更是本节课的难点:设计一个程序,实现“除k取余法”。王老师先请了一名学生帮助大家进行算法分析,然后予以纠正,再引导学生们说,自己在黑板上演算,写出算法步骤,画出框图并写出计算机操作的程序。
最后,王老师进行简单的课堂小结,布置了课堂作业。