3 算法案例 第四课时 问题提出 1
“ 满几进一”就是几进制, k 进制使用哪几个数字, k 进制数化为十进制数的一般算式是什么
12 1( )1210121nnknnnna aa aakakakak----=´+´++´+´LL 2
利用 k 进制数化十进制数的一般算式,可以构造算法,设计程序,通过计算机就能把任何一个 k 进制数化为十进制数
在实际应用中,我们还需要把任意一个十进制数化为 k 进制数的算法,对此,我们作些理论上的探讨
例 1: 把 89 化为二进制的数
分析 : 把 89 化为二进制的数 , 需想办法将89 先写成如下形式89=an×2n+an-1×2n-1+…+a1×21+a0×20
89=64+16+8+1=1×26+0×25+1×24 +1×23+0×22+0×21+1×20 =1011001(2)
但如果数太大 , 我们是无法这样凑出来的 , 怎么办
89=44×2+1, 44=22×2+0, 22=11×2+0, 11=5×2+1, 5=2×2+1, 2=1×2+0, 1=0×2+1, 89=44×2+1, 44=22×2+0, 22=11×2+0, 11=5×2+1, 5=2×2+1, 89=44×2+1, =(22×2+0)×2+1 =((11×2+0)×2+0)×2+1 =(((5×2+1)×2+0)×2+0)×2+1 =((((2×2+1)×2+1)×2+0)× 2+0)×2+1 =(((((1×2)+0)×2+1)×2+1)×2+0)× 2+0)×2+1=1×26+0×25+1×24 +1×23+0×22+0×21+1×20=1011001(2)
可以用 2 连续去除 89或所得商 ( 一直到商为 0 为止 ), 然后取余数--- 除 2 取余法
2=1×2+0, 1=0×2+1, 44 1我们可以用下面的除法算