nbhkdz.com冰点文库

1.3-3K进制化十进制

时间:2017-01-14


1.3

算法案例
第三课时

问题提出

1.辗转相除法和更相减损术,是求两 个正整数的最大公约数的算法,秦九韶 算法是求多项式的值的算法,将这些算 法转化为程序,就可以由计算机来完成 相关运算.

2.人们为了计数和运算方便,约定了 各种进位制,这些进位制是什么概念, 它们与十进制之间

是怎样转化的?对此, 我们从理论上作些了解和研究.

知识探究(一):进位制的概念

思考1:进位制是为了计数和运算方便而 约定的记数系统,如逢十进一,就是十 进制;每七天为一周,就是七进制;每 十二个月为一年,就是十二进制,每六 十秒为一分钟,每六十分钟为一个小时, 就是六十进制;等等.一般地,“满k进 一”就是k进制,其中k称为k进制的基数. 那么k是一个什么范围内的数?

如二进制可使用的数字有0和1,基数是2;
十进制可使用的数字有0,1,2,…,8,9等十个 数字,基数是10; 十六进制可使用的数字或符号有0~9等10 个数字以及A~F等6个字母(规定字母A~F对应 10~15),十六进制的基数是16. 注意:为了区分不同的进位制,常在数字 的右下脚标明基数,. 如111001(2)表示二进制数,34(5)表示5进制数.

十进制数一般不标注基数.

思考2:十进制使用0~9十个数字,那么 五进制、七进制分别使用哪些数字?

思考3:在十进制中10表示十,在二进制 中10表示2.一般地,若k是一个大于1的 整数,则以k为基数的k进制数可以表示 为一串数字连写在一起的形式: anan-1?a1a0(k). 其中各个数位上的数字an,an-1,?,a1, a0的取值范围如何?

练习:下列写法正确的是: ( A ) A、751 (16) B、751 (7) C、095 (12) D、901 (2)

一般地,若k是一个大于1的整数,那么以k 为基数的k进制可以表示为一串数字连写在一起 的形式:

anan?1 ?a1a0(k ) (0 ? an ? k,0 ? an?1,?, a1, a0 ? k ).

思考4:十进制数4528表示的数可以写成 4×103+5×102+2×101+8×100,依此类 比,二进制数110011(2),八进制数 7342(8)分别可以写成什么式子? 110011(2) =1×25+1×24+0×23+0×22+1×21+1×20 7342(8)=7×83+3×82+4×81+2×80.

思考5:探究:P43
若an an?1 ? a1a0( k ) 表示一个k 进制数,请你把它写成各位 上数字与k的幂的乘积之和的形式。

an an ?1 ? a1a0( k ) ? an ? k ? an ?1 ? k
n n ?1

? ? ? a1 ? k ? a0 ? k
1

0 (10)

其它进制数化成十进制数公式 思考6:在二进制中,0+0,0+1,1+0, 1+1的值分别是多少?

知识探究(二):k进制化十进制的算法

思考1:二进制数110011(2)化为十进制 数是什么数? 110011(2) =1×25+1×24+0×23+0×22+1×21+1×20 =32+16+2+1=51.
练习:C7A16(16)=12×164+7×163+10×162 +1×161+6×160.=817686

思考2:二进制数右数第i位数字ai化为十 进制数是什么数? i - 1

ai ? 2

思考3:利用

anan - 1 L a2a1(2) = an ? 2

n- 1

an - 1 ? 2

n- 2

L + a2 ? 2

1

a1 ? 2

0

运用循环结构,把二进制数 a = anan - 1 L a2a1(2) 化为十进制数b的算法步骤如何设计?

第一步,输入a和n的值. 第二步,令b=0,i=1.
i- 1

第三步, b = b + ai ? 2 ,i=i+1. 第四步,判断i>n 是否成立.若是,则输 出b的值;否则,返回第三步.

思考4:按照上述思路,把k进制数 a = anan - 1 L a2a1(k ) 化为十进制数b的算法 步骤如何设计?

第一步,输入a,k和n的值. 第二步,令b=0,i=1.
第三步, b = b + ai ? k
i- 1

,i=i+1.

第四步,判断i>n 是否成立.若是,则 输出b的值;否则,返回第三步.

思考5:上述把 k进制数

开始

输入a,k,n

a = anan - 1 L a2a1(k ) 化为十进制数 b的算法的程 序框图如何表 示?

b=0
i=1

把a的右数第i位数字赋给t
b=b+t· k i- 1 i=i+1

i>n?
是 输出b 结束



思考6:该程序框图对应的程序如何表述?
开始

输入a,k,n

b=0
i=1 把a的右数第i位数字赋给t b=b+t· k i- 1 i=i+1 i>n? 否 是 输出b 结束

INPUT a,k,n b=0 i=1 t=a MOD10 DO b=b+t*k∧(i-1) a=a\10 t=a MOD10 i=i+1 LOOP UNTIL i>n PRINT b END

**上面的程序如采用get函数,可简化为:
INPUT a,k,n i=1 b=0 WHILE i<=n t=GET a[i] b=t*k^(i-1)+b i=i+1 WEND PRINT b END

备注:GET函数用于取出a的右数第i位数

理论迁移

例1 将下列各进制数化为十进制数. (1)10303(4) ; (2)1234(5). 10303(4)=1×44+3×42+3×40=307. 1234(5)=1×53+2×52+3×51+4×50=194.

例2 已知10b1(2)=a02(3),求数字a, b的值.
10b1(2)=1×23+b×2+1=2b+9. a02(3)=a×32+2=9a+2. 所以2b+9=9a+2,即9a-2b=7.

故a=1,b=1.

小结作业

1. k进制数使用0~(k-1)共k个数 字,但左侧第一个数位上的数字(首位 数字)不为0. 2.用 anan - 1 L a2a1(k ) 表示k进制数,其 中k称为基数,十进制数一般不标注基数. 3. 把k进制数化为十进制数的一般算 式是:
anan - 1 L a2a1(k ) = an ? k n - 1 an - 1 ? k n - 2 L + a2 ? k 1 a1 ? k 0

作业: 课外阅读:P45割圆术 P48习题1.3B组:1.


关于三的倍数在其它进制下的一般规律李静

进制上的对应数值 其他进制 十进制 4 7 13 16 3...3 的倍 数转化为这些进制后各位上的和也可以被 3...列,由此我们猜想是不是诸如(3k+1 k=1 2 3 …...

【优化方案】2016年高中数学 第一章 算法初步 1.3算法...

【优化方案】2016年高中数学 第一章 算法初步 1.3...学会如何将 k 进制化十进制; 通过对例 5 的...(k)=1×k +3×k+2=k +3k+2, 2 2 ∴k ...

数字逻辑与数字电路习题

、选择题 1.十进制数 33 的余 3 码为 A. ...5421BCD 码 12.位十六进制数可以用 A. 1 B....接地 B.通过电阻 3kΩ 接电源 D.与有用输入端...

16秋北航《数字电路》在线作业三

灌电流 D. 拉电流 正确答案: 10. 把个五进制...正确 正确答案: 3. TTL 集电极开路门输出为1时由...当 8421 奇校验码在传送十进制数(8 )10 时,在...

17春福师《数字逻辑》在线作业一

通过电阻 3kΩ 接电源 C. 接地 D. 与有用输入...十进制加法运算 D. 二进制减法运算 正确答案: 3....使逻辑函数 Y = AB+CD 值为 1 的 ABCD 取值...

福师17春秋学期《数字逻辑》在线作业一

A.接电源 B.通过电阻 3kΩ 接电源 C.接地 D....A.全部输入是 0 B.全部输入是 1 C.任输入为...十进制加法运算 D.二进制减法运算 BCD 3.使逻辑...

福师《数字逻辑》在线作业一15秋100分答案

74LS160 十进制计数器它含有的触发器的个数是( ) A. 1 B. 2 C. 4 D...D 13. 和二进制码 1100 对应的格雷码是( ) A. 0011 B. 1100 C. 1010 ...

吉大17春秋学期《数字逻辑电路》在线作业一

( ) 0 1 Q /Q 十进制数 25 用 8421BCD 码...正确 10. 根据二进制加法原则,二进制数 01B 和二...通过电阻 3kΩ 接电源 C. 接地 D. 与有用输入...

福师《数字逻辑》在线作业一15秋满分答案

74LS160 十进制计数器它含有的触发器的个数是( ) A. 1 B. 2 C. 4 D...———选择:C 14. 和二进制数(1100110111.001)等值的十六进制数学是( )。 ...

数字电子线路课程设计之多功能数字钟

输入到六十进制的秒计数器, 秒计数器和分计数器都...二十四进制时计数器的个位发个脉冲,使其加 1...1.数字钟方框图 3 河南理工大学电气工程与自动化...