进位制

时间:2019/9/9 19:05:01   作者:数学名师王老师
1.理解进位制的概念,能进行不同进位制数之间的转化.
2.了解进位制转换的程序框图和程序.
程序:
知识点
  • 进位制

    (1)概念:人们为了计数和运算方便而约定的记数系统,“满k进一”就是___进制,$k$是基数(其中$k$是大于1的整数).$k$进制的数可以表示为一串数字连写在一起的形式:$a_{n} a_{n-1} \cdots a_{1} a_{0(k)}\left(a_{n}, a_{n-1}, \cdots, a_{1}, a_{0} \in \mathbf{N}  , \\  0 < a_{n} < k, 0 \leqslant a_{n-1}, \cdots, a_{1}, a_{0} < k\right)$.

    (2)非十进制的$k$进制数$a$(共有$n$位)化为十进制数$b$的算法步骤:

    第一步,输入$a, k$和$n$的值.

    第二步,将b的值初始化为0,$i$的值初始化为1.

    第三步,$b=b+a_{i} \cdot k^{i-1}, i=i+1$.

    第四步,判断____是否成立.若是,则执行第五步;否则,返回第三步.

    第五步,输出$b$的值.


    程序框图: 

    blob.png

    程序: 

    blob.png


    (3)十进制数$a$化为非十进制的$k$进制数$b$的算法是除$k$取余法.

    算法步骤:

    第一步,给定十进制正整数$a$和转化后的数的基数$k$.

    第二步,求出___除以___所得的商$q$,余数r.

    第三步,把得到的余数依次从___到___排列.

    第四步,若$q \neq 0$,则$a=q$,返回第____步;否则,输出全部余数$r$排列得到的$k$进制数.


    程序框图: 

    blob.png

    程序: 

    blob.png

    名师点拨

    教材中的算法案例进一步体现了编写程序的基本过程:

    (1)算法分析,将解决实际问题的过程以步骤的形式用文字语言表述出来.

    (2)画程序框图,把算法分析用程序框和流程线的形式表达出来.

    (3)编写程序,将程序框图转化为算法语句即程序.

    【做一做】 以下各数有可能是五进制数的是(  )

    $A$.15  $B$.106

    $C$.731  $D$.21 340

    答案:$D$

重难点
  • k进制数的特点

    剖析:不妨把各种进制统称为$k$进制,则$k$进制数具有以下特点:

    (1)具有$k$个数字符号,它们是$0,1,2, \cdots,(k-1)$.

    (2)由低位到高位是按“逢$k$进一”的规则进行计数.

    (3)基数是$k$.

    (4)可以表示为一串数字连写在一起的形式,即$a_{n} a_{n-1} \cdots a_{1} a_{0(k)}\left(0 < a_{n} < k, 0 \leqslant a_{n-1}, \\  \cdots, a_{1}, a_{0} < k\right)$.

    (5)与十进制类似,也可以用其基数的幂的形式表示,即$a_{n} a_{n-1} \cdots a_{1} a_{0(k)}=a_{n} × k^{n+}+a_{n-1} \\  × k^{n-1}+\cdots+a_{2} × k^{2}+a_{1} × k+a_{0}$

例题解析
  • 十进制数化为k进制数

    【例1】 (1)将194化成八进制数;

    (2)将48化成二进制数.

    分析:除以$k$取余→倒序写出→标明基数

    反思

    1.将十进制数化成$k$进制数的方法是用“除$k$取余法”,用$k$连续去除十进制数或所得的商,直到商为零为止,然后将各步所得的余数倒序写出,即为相应的$k$进制数.

    2.为了区分不同的进位制,常在数的右下角标明基数.十进制数一般不标注基数.

    【变式训练1】 (1)将137转化为六进制的数;

    (2)将96转化为五进制的数.

    k进制数化为十进制数

    【例2】 将下列各数化成十进制数.

    $(1)11001000_{(2)};$ $(2)310_{(8)}$.

    分析:解答本题可按其他进制转化为十进制的方法,先写成不同位上的数乘基数的幂的形式,再相加求和.


    反思
    k进制数化为十进制数:先把k进制数写成不同位上的数字与k的幂的乘积之和的形式,再按十进制数的运算规则计算出结果. .

    【变式训练2】 (1)将236(7)转化为十进制的数;

    (2)将1032(4)转化为十进制的数.

  • 不同进位制数间的互化

    【例3】 把1234(5)转化为六进制数.

    分析:五进制数和六进制数之间的互化需要借助十进制数来进行.

    反思非十进制数直接利用公式$a_{n} a_{n-1} \cdots a_{1} a_{0(k)} \\ =a_{n} k^{n+} a_{n-1} k^{n-1}+\cdots+a_{1} k+a_{0}$
    就可以转化为十进制数;$k$进制数和$m$进制数之间需要用十进制数来转化,即先把$k$进制数转化为十进制数,再利用除$m$取余法转化为$m$进制数.

    【变式训练3】 把八进制数$2016_{(8)}$化为五进制数.

声明:本站部分内容搜集整理自互联网,如果涉及侵犯您的版权,请联系我们举报,并提供相关证据,工作人员会在5个工作日内回复您,一经查实,本站将立刻删除涉嫌侵权内容。