- 优等生必会的数学技巧
- 于雷等编著
- 3112字
- 2021-03-30 02:10:06
6.进制
进制也叫作进位制,是人们规定的一种进位方法。对于任何一种进制——X进制,就表示某一位置上的数运算时是逢X进一位。二进制就是逢二进一,十进制就是逢十进一,十六进制就是逢十六进一,以此类推,X进制就是逢X进一位。
对于任何一个数,我们都可以用不同的进位制来表示。比如,十进数57,可以用二进制表示为111001,也可以用五进制表示为212,还可以用八进制表示为71,用十六进制表示为39,它们所代表的数值都是一样的。
1)二进制数
二进制是计算机技术中广泛采用的一种数制,它是用0和1两个数码来表示的数。
在现实生活和计数器中,如果表示数的“器件”只有两种状态,如电灯的“亮”与“灭”,开关的“开”与“关”。一种状态表示数码0,另一种状态表示数码1,1加1应该等于2,因为没有数码2,只能向上一个数位进一,就是采用“满二进一”的原则,这和十进制采用“满十进一”的原则完全相同。
1+1=10
10+1=11
11+1=100
100+1=101
101+1=110
110+1=111
111+1=1000
…
可见二进制的10表示二,100表示四,1000表示八,10000表示十六……进位规则是“逢二进一”,借位规则是“借一当二”。
0=00000000
1=00000001
2=00000010
3=00000011
4=00000100
5=00000101
6=00000110
7=00000111
8=00001000
9=00001001
10=00001010
…
当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以二进制的补码形式存储的。计算机的运行和计算都是基于二进制的,只是结果用其他进制表现出来。其实把二进制三位一组分开就是八进制,四位一组就是十六进制。
(1)二进制数据的表示
二进制数据一般可写为(an-1an-2…a1a0.a-1…a-m)2的形式。例如,(1101.01)2表示二进制数1101.01。
二进制数据可以采用位置计数法,其位权是以2为底的幂。同一个数码1,在不同数位上表示的数值是不同的。如11111,从右往左数,第一位的1表示一,第二位的1表示二,第三位的1表示四,第四位的1表示八,第五位的1表示十六。例如,二进制数据1101.01,逢二进一,其权的大小顺序为23、22、21、20、2-1、2-2。对于有n位整数、m位小数的二进制数据,用加权系数展开式表示,可写为
例子:将二进制数据1101.01写成加权系数的形式。
解:
(1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×2-2
(2)二进制数的运算
①加法
二进制数的加法有四种情况。
0+0=0
0+1=1
1+0=1
1+1=10(进位)
②减法
二进制数的减法有四种情况。
0-0=0
1-0=1
1-1=0
0-1=1
③乘法
二进制数的乘法有四种情况。
0×0=0
1×0=0
0×1=0
1×1=1
④除法
二进制数的除法有两种情况。
0÷1=0
1÷1=1
⑤拈加法
拈加法是二进制数除加、减、乘、除法以外的一种特殊算法。
拈加法运算与加法运算类似,但不需要进位。此算法在博弈论中被广泛应用。
2)十进制
在古代世界独立开发的有文字的计数体系中,除了古巴比伦文明的楔形数字采用六十进制,玛雅数字采用二十进制外,其余的几乎全部为十进制。人类算术采用十进制,可能跟人类有十根手指有关。我们有个成语叫“屈指可数”,从古至今,人们数数都离不开手指,而一般人的手指恰好有十根。亚里士多德称:人类普遍使用十进制,只不过是绝大多数人生来就有十根手指这样一个解剖学事实的结果。不过,这些十进制计数体系并不是按位的。它们不知道位值制。
所谓位值制,就是一个数码表示多少,要看它所在的位置而定。现在人们日常生活中所不可或缺的十进位值制,就是中国人民的一项伟大发明。早在商代,中国就已经采用了十进位值制。从现已发现的商代陶文和甲骨文中可以看到,当时就已经用一、二、三、四、五、六、七、八、九、十、百、千、万十三个数字来计十万以内的任何自然数。
十进位值制的计数法是古代世界中最先进、最科学的计数法,在世界数学史上也有着非常重要的意义。英国著名的科学史学家李约瑟教授曾对十进制这种中国商代就已出现的计数法予以很高的评价:“如果没有这种十进制,就几乎不可能出现我们现在这个统一化的世界了。”
在计算数学方面,中国大约在商周时期就已经有了四则运算,到春秋战国时期整数和分数的四则运算已相当完备。其中,出现于春秋时期的正整数乘法歌诀“九九歌”,堪称是先进的十进位计数法与简明的中国语言文字相结合的结晶。从此,“九九歌”成为数学的普及和发展最基本的基础之一,一直延续至今。其变化只是古代的“九九歌”是从“九九八十一”开始,到“二二如四”止;而现在的“九九乘法口诀”是从“一一得一”到“九九八十一”。
十进位值制有以下两个主要特点。
(1)满十进一,满二十进二……以此类推。
(2)按权展开,第一位权为100,第二位权为101……以此类推。
一个数的数值,等于每位上的数值乘以该位对应的权值之和。
十进位值制最重要的思想是位权概念。对于形式化的进制表示,我们可以从0开始,对数字的各个数位进行编号,即个位起往左依次编号为0、1、2、…;相对应地,小数点后的数位则是-1、-2、…
十进制数的位权是以10为底的幂。数位由高向低,以降幂的方式排列。
比如,一个十进制数123,其中百位上的1表示1个102,即100;十位上的2表示2个101,即20;个位上的3表示3个100,即3。
可见,在数制中,各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,我们称这种关系为数的位权。
3)进制转换
(1)二进制数、十六进制数转换为十进制数
二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开为多项式和的形式,求和即为其对应的十进制数——简称“按权求和”。
例子:
①把(110.01)2转换成十进制数。
解:
(110.01)2=1×22+1×21+0×20+0×2-1+1×2-2=4+2+0+0+0.25=6.25
②把(1A2B.C)16转换为十进制数。
解:
(1A2B.C)16=1×163+10×162+2×161+11×160+12×16-1=4096+2560+32+11+0.75=6699.75
(2)十进制数转换为二进制数或十六进制数
①正整数转换为二进制数
一个十进制正整数转换为二进制数通常采用除二取余法,即用2连续去除这个十进制数,直到商为0,然后逆序排列余数即可——简称除二取余法。
例子:将25转换为二进制数。
解:
25÷2=12……1
12÷2=6……0
6÷2=3……0
3÷2=1……1
1÷2=0……1
所以,25=(11001)2。
②负整数转换为二进制数
将该负整数对应的正整数先转换成二进制数,然后对其“取补”,再对取补后的结果加1——简称取反加一。
例子:将-52换算成二进制数。
解:先取得52的二进制数:00110100
对所得到的二进制数取反:11001011
将取反后的数值加1:11001100
所以,-52=(11001100)2。
③小数转换为二进制数
对被转换的小数乘以2(如有整数部分可分开计算),记下其整数部分;取其小数部分再乘以2,再次记下其整数部分;然后继续取小数部分乘以2……直到小数部分为0或者已经取到了足够位数。每次记下的整数部分按先后次序排列,就构成了二进制小数的序列——简称乘二取整,正序排列。
例子:把0.2转换为二进制数。
解:
0.2×2=0.4……0
0.4×2=0.8……0
0.8×2=1.6……1
0.6×2=1.2……1
0.2×2=0.4……0
所以,0.2=(0.00110011)2。
同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了。
例子:将25转换为十六进制数。
解:
25÷16=1……9
1÷16=0……1
所以,25=(19)16。
(3)二进制数与十六进制数之间的转换
由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的。
(0)16=(0000)2
(1)16=(0001)2
(2)16=(0010)2
(3)16=(0011)2
(4)16=(0100)2
(5)16=(0101)2
(6)16=(0110)2
(7)16=(0111)2
(8)16=(1000)2
(9)16=(1001)2
(A)16=(1010)2
(B)16=(1011)2
(C)16=(1100)2
(D)16=(1101)2
(E)16=(1110)2
(F)16=(1111)2
所以,十六进制数与二进制数的转换是十分简单的。
①十六进制数转换成二进制数
只要将每一位十六进制数用对应的4位二进制数替代即可——简称位分四位。
例子:将(1A2B3)16转换为二进制数。
解:
1 A 2 B 3
0001 1010 0010 1011 0011
所以,(1A2B3)16=(00011010001010110011)2。
②二进制数转换为十六进制数
只需把上述过程反过来即可。先将二进制数从右向左每4位分成一组,最后一组不足4位时在前面加0补齐4位。然后依次写出每组4位二进制数所对应的十六进制数——简称四位合一位。
例子:将二进制数(111010110)2转换为十六进制数。
解:
0001 1101 0110
1 D 6
所以,(111010110)2=(1D6)16。