若anan-1…a1a0(k)表示一个k进制数,写成各位上数字与k的幂的乘积之和的形式为anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a2×k2+a1×k+a0.
因此,只要计算出上式等号右边的值,就得到了相应的十进制数.请运用你学过的算法知识来写出这个问题的解决办法.
探究过程:我们设这个k进制数共有n+1位,各位分别为an,an-1, …,a1,a0.将其描述为算法步骤就是:
1.从左到右依次取k进制数anan-1…a1a0(k)各位上的数字,乘以相应的k的幂,k的幂从n开始取值,每次递减1,递减到0,即an×kn,an-1×kn-1, …,a1×k,a0×k0;
2.把所得到的乘积加起来,所得到的结果就是相应的十进制数.
程序步骤如下:
i=0
b=0
DO
t=ai
b=b+t×ki
i=i+1
LOOP UNTIL i>n
PRINT b
END
探究结论:进位制的概念将计算中的数据分析跟我们熟悉的数学中的十进位制联系在一起,对于我们理解计算机的计算方法有很好的帮助,而此题应用的UNTIL语句的程序设计对于我们理解实际问题的算法也有很好的帮助.
科目:高中数学 来源: 题型:
A.进位制是人们为了计数和运算方便而约定的记数系统
B.二进制就是满二进一,十进制就是满十进一
C.满几进几,就是几进制,几进制的基数就是几
D.为了区分不同的进位制,必须在数的右下角标注基数
查看答案和解析>>
湖北省互联网违法和不良信息举报平台 | 网上有害信息举报专区 | 电信诈骗举报专区 | 涉历史虚无主义有害信息举报专区 | 涉企侵权举报专区
违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com