精英家教网 > 高中数学 > 题目详情
进位制是人们为了计数和运算方便而约定的记数系统.约定满二进一,就是二进制;满十进一,就是十进制,等等.即“满几进一”就是几进制,几进制的基数就是几.因此k进制需要使用k个数字.

若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.为了区分不同的进位制,必须在数的右下角标注基数

查看答案和解析>>

同步练习册答案