1、第十讲 进制与进位 我们常用的进制为十进制, 特点是 “逢十进一” 。 在实际生活中, 除了十进制计数法外, 还有其他的大于 1 的自然数进位制。比如二进制,八进制,十六进制等。 二进制:二进制:在计算机中,所采用的计数法是二进制,即“逢二进一”。因此,二进制中只用两 个数字 0 和 1。二进制的计数单位分别是 1、2 1、22、23、,二进制数也可以写做展开式 的形式, 例如 100110 在二进制中表示为: (100110)2=12 5+024+023+122+121+020。 二进制的运算法则:二进制的运算法则: “满二进一” 、 “借一当二” ,乘法口诀是:零零得零,一零得零,零一 得
2、零,一一得一。 注意:注意:对于任意自然数 n,我们有 n 0=1。 n n 进制:进制: n 进制的运算法则是 “逢 n 进一, 借一当 n” , n 进制的四则混合运算和十进制一样, 先乘除,后加减;同级运算,先左后右;有括号时先计算括号内的。 进制间的转换:进制间的转换:如右图所示。 1.掌握进制之间的转换方法。 2.能用进制互化的方法解题。 例例 1:1: 222 (101)(1011)(11011)_; 2222 (11000111(10101(11(); 4710 (3021)(605)() ; 88888 (63121)(1247)(16034)(26531)(1744)_; 若
3、若(1030)140 n ,则,则n _ 分析与解:分析与解:对于这种进位制计算,一般先将其转化成我们熟悉的十进制,再将结果转化成 相应的进制: 2221010101010 (101)(1011)(11011)(5)(11)(27)(28)(11100); 可转化成十进制来计算: 222101010102 (11000111(10101(11(199)(21)(3)(192)(11000000); 如果对进制的知识较熟悉,可直接在二进制下对 22 (10101(11)进行除法计算,只是每次借 位都是 2,可得 222222 (11000111(10101(11(11000111(111(110
4、00000); 本题涉及到 3 个不同的进位制,应统一到一个进制下统一到十进制比较适宜: 32 47101010 3021)(605)(3 42 4 1)(6 75)(500) (; 十进制中,两个数的和是整十整百整千的话,我们称为“互补数” ,凑出“互补数”的这 种方 法叫“凑整法” ,在n进制中也有“凑整法” ,要凑的就是整n 原式 88888 (63121)(1247)(26531) (16034)(1744) 8888 (63121)(30000)(20000)(13121); 若(1030)140 n ,则 3 3140nn,经试验可得5n 例例 2:2:在几进制中有在几进制中有4
5、13100? 分析与解:分析与解:利用尾数分析来解决这个问题: 由于 101010 (4)(3)(12),由于式中为 100,尾数为 0,也就是说已经将 12 全部进到上一位 所以说进位制n为 12 的约数,也就是 12,6,4,3,2 中的一个 但是式子中出现了 4,所以n要比 4 大,不可能是 4,3,2 进制 另外,由于 101010 (4)(13)(52),因为52100,也就是说不到 10 就已经进位,才能是 100, 于是知道10n ,那么n不能是 12 所以,n只能是 6 例例 3:3:将二进制数将二进制数(11010.11)2 (11010.11)2 化为十进制数为多少?化为十
6、进制数为多少? 分析与解:分析与解:根据二进制与十进制之间的转化方法,(11010.11)2 =124+123+022+1 21+020+12-1+12-2=16+8+0+2+0+0.5+0.25=26.75。 例例 4:4:现有现有 1 1 克,克,2 2 克,克,4 4 克,克,8 8 克,克,1616 克的砝码各克的砝码各 1 1 枚,在天平上能称多少种不同重量的物枚,在天平上能称多少种不同重量的物 体?体? 分析与解:分析与解:因为砝码的克数恰好是 1,2,4,8,16,而二进位制数从右往左数各位数字分 别表示:1,2,22=4,23=8,24=16,在砝码盘上放 1 克砝码认为是二进
7、位制数第一位(从右 数)是 1,放 2 克砝码认为是二进位制数第二位是 1,放 16 克砝码认为是二进位制数 第五位是 1,不放砝码就认为相应位数是零,这样所表示的数中最小的是 1,最大的是 (11111)2=24+23222120=(31)10, 这就是说 1 至 31 的每个整数(克)均能称出。 所以共 可以称出 31 种不同重量的物体。 例例 5:5:在在 6 6 进制中有三位数进制中有三位数abc,化为,化为 9 9 进制为进制为cba,求这个三位数在十进制中为多少,求这个三位数在十进制中为多少? ? 分析与解:分析与解: (abc)6 =a62b6+c=36a+6b+c;(cba)9
8、=c92+b9+a=81c+9b+a;所以 36a+6b+c=81c+9b+a;于是 35a=3b+80c;因为 35a 是 5 的倍数,80c 也是 5 的倍数所以 3b 也必须是 5 的倍数,又(3,5)=1所以,b=0 或 5 当 b=0,则 35a=80c;则 7a=16c;(7,16)=1,并且 a、c0,所以 a=16,c=7。但是在 6,9 进制,不可以有一个数字为 16 当 b=5,则 35a=35+80c;则 7a=3+16c;mod 7 后,3+2c0。所以 c=2 或者 2+7k(k 为整 数)因为有 6 进制,所以不可能有 9 或者 9 以上的数,于是 c=2;35a=
9、15+802,a=5。所 以(abc)6 =(552)6 =562+56+2=212。这个三位数在十进制中为 212。 例例 6:6:试求试求(2(2 2006- -1) 1)除以除以 992992 的余数是多少的余数是多少? ? 分析与解:分析与解:我们通过左式的短除法,或者直接运用通过 2 次幂来表达为 2 进制: (992)10=(1111100000)2,(2 2006-1)2= 2006 2 111.1 个1 我们知道在 2 进制中 50 2 111.10000.0 5个1个或以上 一定 能整除 (1111100000)2,于是我们注意到 50 2 111.10000.0 5k个1个
10、或以上 , 所以 2 111.1 2006个1 = 60 2 111.1000.0111111 2000个1个 因为 60 2 111.1000.0 2000个1个 能整除(1111100000)2,所以 余数为(111111)2=2 5 +24+23+22+21+1=63,所以原式的余数为 63。 例例 7:7:已知正整数已知正整数N的八进制表示为的八进制表示为 8 (12345654321)N , 那么在十进制下, 那么在十进制下,N除以除以 7 7 的余数的余数 与与N除以除以 9 9 的余数之和是多少?的余数之和是多少? 分析与解:分析与解:与十进制相类似,有: 2 88 (12345
11、654321)(111111) 根据 8 进制的弃 7 法, 8 (111111)被 7 除的余数等于其各位数字之和,为 6,而 2 636除以 7 的余数为 1,所以 8 (111111)的平方被 7 除余 1,即 8 (12345654321)除以 7 的余数为 1; 另外, 8 9(11),显然 8 (111111)能被 8 (11)整除,所以其平方也能被 8 (11)整除,即 8 (12345654321)除以 9 的余数为 0 因此两个余数之和为101 A A 1.1. 852 567(); 在八进制中,在八进制中,1234456322_; 在九进制中,在九进制中,144383123
12、7120117705766_ 分析与解:本题是进制的直接转化: 852 567(1067(4232(1000110111); 原式1234(456322)1234 1000234; 原式14438(31235766)(7120 11770)14438 10000200004438 2.2.在几进制中有在几进制中有125 12516324? 分析与解:注意 101010 (125)(125)(15625),因为1562516324,所以一定是不到 10 就已经 进位,才能得到 16324,所以10n 再注意尾数分析, 101010 (5)(5)(25),而 16324 的末位为 4,于是2542
13、1进到上一位 所以说进位制n为 21 的约数,又小于 10,也就是可能为 7 或 3 因为出现了 6,所以n只能是 7 3.3.二进制数二进制数 1010101111001101010110110101011110011010101101 转化为转化为 8 8 进制数是多少?进制数是多少? 分析与解:根据二进制与八进制之间的转化方法推导出二八对照表: 八进制数 0 1 2 3 4 5 6 7 二进制数 000 001 010 011 100 101 110 111 从后往前取三合一进行求解,可以得知(10101011110011010101101)2=(25363255)8。 4.4.算式算式
14、15342543214是几进制数的乘法?是几进制数的乘法? 分析与解: 注意到尾数, 在足够大的进位制中有乘积的个位数字为4520, 但是现在为 4, 说明进走20416,所以进位制为 16 的约数,可能为 16、8、4 或 2 因为原式中有数字 5, 所以不可能为 4、 2 进位, 而在十进制中有1534253835043214, 所以在原式中不到 10 就有进位,即进位制小于 10,于是原式为 8 进制 5.5.将二进制数将二进制数 11101001.101111101001.1011 转换为十六进制数。转换为十六进制数。 分析与解:在转换为高于 9 进制的数时,遇到大于 9 的数用字母代
15、替,如:A 代表 10、B 代 表 11、C 代表 12、D 代表 13。根据取四合一法,二进制 11101001.1011 转换为十六进 制为 E9.B。 B B 6.6.某数在三进制中为某数在三进制中为 1212012011011012112112120120110110121121,则将其改写为九进制,其从左向右数第,则将其改写为九进制,其从左向右数第 l l 位位 数字是几数字是几? ? 分析与解:由于 32=9,所以由三进制化为 9 进制需要取二合一。从后两个两个的取,取至 最前边为 12,用位值原理将其化为 131+230=5,所以化为 9 进制数后第一位为 5. 7.7.在在 7
16、 7 进制中有三位数进制中有三位数abc,化为,化为 9 9 进制为进制为cba,求这个三位数在十进制中为多少?,求这个三位数在十进制中为多少? 分析与解:首先还原为十进制: 2 7 ()77497abcabcabc ; 2 9 ()99819cbacbacba 于是497819abccba;得到48802acb,即2440acb 因为24a是 8 的倍数,40c也是 8 的倍数,所以b也应该是 8 的倍数,于是0b 或 8 但是在 7 进制下,不可能有 8 这个数字于是0b ,2440ac,则35ac 所以a为 5 的倍数,c为 3 的倍数 所以,0a 或 5,但是,首位不可以是 0,于是5
17、a ,3c ; 所以 77 ()(503)5493248abc 于是,这个三位数在十进制中为 248 8.8.一个人的年龄用十进制数和三进制数表示,若在十进制数末尾添个“一个人的年龄用十进制数和三进制数表示,若在十进制数末尾添个“0 0”就是三进制数,”就是三进制数, 求此人的年龄求此人的年龄 分析与解:设这个人为a岁,得 (10)(3) 0aa,又 10 (3)(10) 030 33aaa ,解得0a , 不合题意,所以这个人的年龄不可能是一位数 设这个人是ab岁,由题意得: (10)(3) 0abab 因为 210 (10)(3) 10,0330 393abab ababab , 所以10
18、93abab即2ab 又 因为0ab是三进制数,a,b都小于 3,所以2a ,1b 所以,这个人为 21 岁 设 这 个 人 为abc岁 , 由 题 意 有 , (10)(3) 0abcabc, 因 为 (10) 10010abcabc, 32 (3) 03332793abcabcabc , 所 以1 0 01 02 793abcabc 即 7 32abc又a、b、c都小于 3,所以上述等式不成立所以这个人的年龄不可能是三 位数 综上可知这个人的年龄是 21 岁 9.N9.N 是整数,它的是整数,它的 b b 进制表示是进制表示是 777777,求最小的正整数,求最小的正整数 b b,使得,使
19、得 N N 是十进制整数的四次方是十进制整数的四次方 分析与解:设 b 是所求的最小正整数, 24 777bbxxN,因为质数 7 能整除 2 777bb, 所以也能整除x, 不妨设7xm, m是大于0的自然数。 则: 4 2 7777bbm, 化简得: 234 17bbm ,易知,b 的值随 m 的增大而增大,当 m=1 时,b=18。 10.10.计算计算 2003 (31)除以除以 2626 的余数的余数 分析与解:题中有 3 的次幂,令人联想到将题中的数转化成 3 进制下的数再进行计算 2003 333 20032003 31(1000. 0)(1)(2222) 个2个0 ,而 3 2
20、6(222), 所以, 2003 33 2003 (31)26(2222)(222) 个2 由于 3 (222)整除 3 (222),200336672,所以 33 2003 (2222)(222) 个2 余 3 (22)8 所以 2003 (31)除以 26 的余数为 8 C C 11.11.计算计算 2003 (21)除以除以 7 7 的余数的余数 分析与解: 由于 3 28除以7余1, 而2 0 0 3 3 6 6 7 2, 所以 2003 21除以7的余数为 2 213 本题也可以转化为 2 进制进行计算: 2003 2 20031 21(1111) 个 , 2 7(111), 所以
21、2003 22 20031 (21)7(1111)(111) 个 而200336672,所以 22 20031 (1111)(111) 个 余 2 (11)3 所以 2003 (21)除以 7 的余数为 3 12.12.在在 8 8 进制中,一个多位数的数字和为十进制中的进制中,一个多位数的数字和为十进制中的 6868,求除以,求除以 7 7 的余数为多少?的余数为多少? 分析与解:类似于十进制中的“弃九法” ,8 进制中也有“弃 7 法” ,也就是说 8 进制中一个 数除以 7 的余数等于这个数的各位数字之和除以 7 的余数 本题中,这个数的各位数字之和在十进制中为 68,而 68 除以 7
22、 的余数为 5,所以这个数除 以 7 的余数也为 5 13.13.现有现有 1 1 斤、斤、2 2 斤、斤、4 4 斤、斤、8 8 斤、斤、1616 斤的白糖各一袋,白糖整袋地卖,问顾客可买的斤数斤的白糖各一袋,白糖整袋地卖,问顾客可买的斤数 有多少种?有多少种? 分析与解: 2 2 2 2 2 11 210 4100 81000 1610000 很显然的这些数组合可以构成 21到211111之间的任何一个数, 化为十进制即 1 到 31 之 间的数都可以构成。所以顾客可以买的斤数有 31 种。 1 14 4. .求证:求证: 18 21能被能被 7 7 整除整除. . 分析与解:因为 18
23、181 180 2 2 2110001111 个 个 而27111 很容易看出来: 18 22 181 2 2171111111001001001001001 个 所以 18 21能被 7 整除 1 15 5. .一个自然数的六进制与九进制均为三位数一个自然数的六进制与九进制均为三位数, , 并且它们各位数字的排列顺序恰好相反并且它们各位数字的排列顺序恰好相反, , 请问这个自然数是几请问这个自然数是几? ? 分析与解:设这个数的六进制为ABC, 则这个数的九进制为CBA。 那么有 22 6699ABCCBA 即35803ACB , ,A B C只能取 0, 1, 2, 3, 4, 5. 等式
24、左边能被 5 整除. 经过试验,只可能是5,5,2ABC, 所以这个数六进制是 552,九进制是 552,化成十进制是 212 1.计算下列结果(仍用二进制表示) : (1) 22 1101101(2) 22 100111110 分析与解:二进制中 11=1,10=0,00=0 (1) 1101 1101 因此 222 11011011000001 (2) 111 0111 因此 222 10011111011101010 2.把下列十进制的数写成数码与计数单位乘积的和的形式: (1)10732 (2)101869 (3)1097655 分析与解:变换形式如下: (1) 21 10 7327
25、103 102 (2) 321 10 18691 108 106 109 (3) 4321 10 976559 107 106 105 105 3.请你制造一个 7 进制的乘法表。 分析:大家都能熟练地背诵十进制的乘法表,那么尝试构造形式相同的 7 进制乘法表。 答案:7 进制乘法表: 1 1 4.求证 15141312111098 222222222 1能被 5 整除。 分析与解:我们适当变换原式的形式: 15141312111098 1513119141210 1010 22 2 222222222 1 222222221 1010101010101010101010101010101 1
26、01010101010101 而25101,很显然2101010101010101能被2101整除, 所以 15141312111098 222222222 1能被 5 整除。 5.如果 n 21能被 15 整除,自然数 n 取那些值? 分析:这与上一题很类似,用同样的方法分析 答案:因为 1 0 2 2 2110001111 n n个 n个 而2151111,如果要 n 21能被 15 整除,即 1 2 111 n个 能被21111整除 所以 n 应该是 4 的倍数,n=4,8,12, 1.计算下列结果(仍然用 2 进制表示) : (1) 22 101111 (2) 22 111111110
27、11 (3) 22 11011101 答案: 和十进制一样列竖式计算,但注意要“逢二进一” 、 “借一当二” (1) 101 111 因此 222 1011111100 (2) 111111 11011 因此 222 111111110111011010 (3) 1101 110 因此 222 11011101111 2.计算下列结果(仍用二进制表示) : (1) 22 110110110 (2) 22 101101111 答案: (1) 110 110 因此 222 1101101101001 (2) 111 因此 2222 10110111111011 3.计算(结果仍用二进制) : (1
28、) 222 1101111111 (2) 222 10110111101 (3) 2222 111010101000011011 答案: 按照混合运算顺序,并用上述三题的竖式计算方式求解: (1) 222 22 2 1101111111 10101111 1110 (2) 222 22 2 10110111101 10110001111 10010100 (3) 2222 22 2 111010101000011011 1100011 11011 4.把下列二进制数写成数码与计数单位乘积的和的形式, 并且在十进制下算出这些数的大小: (1)2101 (2)21000 (3)21111 (4)2
29、11011 答案: 变换形式求解如下: (1) 21 2 1011 20 215 (2) 3 2 10001 28 (3) 32 2 11111 21 21 2 1 15 (4) 4321 2 110111 21 20 21 2127 5.将下列十进制数化为二进制数: (1)1045 (2)10122 答案: 用十进制整数不断除以 2,并记下余数,直到商为 0,最后把余数反向读出即可。 (1) 1 45 0 22 15 2 因此 102 45101101 (2) 0 61 15 7 因此 102 1221111010 6.将下列各数化为十进制的数: (1)31201 (2)5432 (3)71
30、26 答案: (1) 32 310 12011 32 3146 (2) 21 510 4324 53 52117 (3) 21 710 1261 72 7669 7.将101586分别化成 5 进制和 12 进制数 答案: (1)化为 5 进制数时,和十进制化二进制类似,用十进制整数不断除以 5,并记下余数, 直到商为 0,最后把余数反向读出即可: 因此 105 158622321 (2)化为 12 进制数时, 用十进制整数不断除以 12,并记下余数,直到商为 0,最后把余 数反向读出即可: 2 132 11 这里注意到,12 进制的数码可以有对应于十进制数值的 10,11,我们分别记为 A,B, 那么最终结果可以表示为: 1012 158602B 8.计算: (1) 8410 237332 (2) 2127 10115B 答案: 这里涉及到几种进位制的转化,我们可以先把左式用 10 进制算出结果,然后再转化为右边 的进位制。 答案依据分析,并按照上面几题所介绍的进位制转化方法: (1) 84101010 23733215962221 (2) 2121010107 1011511717812164B