计算机进制之间相互转换
- 格式:pdf
- 大小:80.19 KB
- 文档页数:4
计算机进制之间相互转换
计算机进制之间的相互转换
⼀、进位计数制
所谓进位计数制是指按照进位的⽅法进⾏计数的数制,简称进位制。在计算机中主要采⽤的数制是⼆进制,同时在计算机中还存在⼋进制、⼗进制、⼗六进制的数据表⽰法。下⾯先来介绍⼀下进制中的基本概念:1、基数
数制是以表⽰数值所⽤符号的个数来命名的,表明计数制允许选⽤的基本数码的
个数称为基数,⽤R表⽰。例如:⼆进制数,每个数位上允许选⽤0和1,它的基数R=2;⼗六进制数,每个数位上允许选⽤1,2,3,…,9,A,…,F共16个不同数码,它的基数R=16。
2、权
在进位计数制中,⼀个数码处在数的不同位置时,它所代表的数值是不同的。每⼀个数位赋予的数值称为位权,简称权。
权的⼤⼩是以基数R为底,数位的序号i为指数的整数次幂,⽤i表⽰数位的序号,⽤Ri表⽰数位的权。例如,543.21各数位的权分别为102、101、100、10-1和10-2。3、进位计数制的按权展开式
在进位计数制中,每个数位的数值等于该位数码与该位的权之乘积,⽤Ki表⽰第i位的系数,则该位的数值为KiRi。任意进位制的数都可以写成按权展开的多
项式和的形式。
⼆、计算机中的常⽤的⼏种进制。
在计算机中常⽤的⼏种进制是:⼆进制、⼋进制、⼗进制和⼗六进制。⼆进制数
的区分符⽤字母B表⽰,⼋进制数的区分符⽤字母O表⽰,⼗进制数的区分符
⽤字母D表⽰或不⽤区分符,⼗六进制数的区分符⽤字母H表⽰。1、⼆进制(Binary System)
⼆进制数中,是按“逢⼆进⼀”的原则进⾏计数的。其使⽤的数码为0,1,⼆进制数的基为“2”,权是以2为底的幂。2、⼋进制(Octave System)
⼋进制数中,是按“逢⼋进⼀”的原则进⾏计数的。其使⽤的数码为0,1,2,3,4,5,6,7,⼋进制数的基为“8”,权是以8为底的幂。3、⼗进制(Decimal System)
⼗进制数中,是按“逢⼗进⼀”的原则进⾏计数的。其使⽤的数码为1,2,3,4,5,6,7,8,9,0,⼗进制数的基为“10”,权是以10为底的幂。4、⼗六进制(Hexadecimal System)
⼗六进制数中,是按“逢⼗六进⼀”的原则进⾏计数的。其使⽤的数码为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,⼗进制数的基为“16”,权是以16为底的幂。
三、进位计数制相互转换1、⼆进制转换成⼋进制
转换原则:以⼩数点为中⼼,整数部分从右向左,⼩数部分从左向右,“三位⼀
体,不⾜补零。”
举例:(10101010.1111)B =(010 101 010.111 100)O=(252.74)O2、⼆进制转换成⼗进制转换原则:让⼆进制各位上的系数乘以对应的权,然后求其和。
举例:(111.11)B =(1×22+1×21+1×20+1×2-1+1×2-2)D=(7.75)D3、⼆进制转换成⼗六进制
转换原则:以⼩数点为中⼼,整数部分从右向左,⼩数部分从左向右,“四位⼀
体,不⾜补零”。
举例:(101010101.111)B =(0001 0101 0101.1110)H = (1 5 5.E)H4、⼋进制转换成⼆进制
转换原则:将⼋进制上每⼀位数码“⼀分为三”,即可得⼆进制。
举例:(765.43)O =(111 110 101.100 011)B5、⼋进制转换成⼗进制
转换原则:让⼋进制各位上的系数乘以对应的权,然后求其和。
举例:(123.13)O =(1×82+2×81+3×80+1×8-1+3×8-2)D =(83.172)D6、⼋进制转换成⼗六进制
转换原则⼀:先将⼋进制转换成⼗进制,再由⼗进制转换成⼗六进制。
举例:(77.77)O = (63.984)D=(3F.FC)H
转换原则⼆:先将⼋进制转换成⼆进制,再由⼆进制转换成⼗六进制。
举例:(77.77)O =(111 111.111 111)B =(0011 1111.1111 1100)B =(3F.FC)H7、⼗进制转换成n(n=2,8,16)进制
转换原则:整数部分:“除n取余倒着写”
⼩数部分:“乘n取整顺着写”,⼩数部分⼀般保留三位,末位“四舍五⼊”。
举例:1、(18.55)D = (12.852)H2、(21.55)D = (25.431)O
3、(18.75)D = (10010.11)B
8、⼗六进制转换成⼆进制
转换原则:将⼗六进制上每⼀位数码“⼀分为四”,即可得⼆进制。
举例:(FEC.BA)H =(1111 1110 1100.1010 1001)B9、⼗六进制转换成⼋进制
转换原则⼀:先将⼗六进制转换成⼗进制,再由⼗进制转换成⼋进制。
举例:(3F.FC)H = (63.984)D=(77.77)O
转换原则⼆:先将⼗六进制转换成⼆进制,再由⼆进制转换成⼋进制。
举例:(3F.FC)H =(0011 1111.1111 1100)B=(111 111.111 111)B=(77.77)O10、⼗六进制转换成⼗进制
转换原则:让⼗六进制各位上的系数乘以对应的权,然后求其和。
举例:(12F.C)H =(1×162+2×161+15×160+12×16-1)D =(303.75)D
⼆、进制与编码四种常⽤的数制及它们之间的相互转换:
进制基数基数个数权进数规律⼗进制0、1、2、3、4、5、6、7、8、9 10 10i逢⼗进⼀⼆进制0、1 2 2i逢⼆进⼀⼋进制0、1、2、3、4、5、6、7 8 8i逢⼋进⼀
⼗六进制0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
16 16i逢⼗六进⼀
⼗进制数转换为⼆进制数、⼋进制数、⼗六进制数的⽅法:
⼆进制数、⼋进制数、⼗六进制数转换为⼗进制数的⽅法:按权展开求和法1.⼆进制与⼗进制间的相互转换:
(1)⼆进制转⼗进制
⽅法:“按权展开求和”
例:(1011.01)2=(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10
=(8+0+2+1+0+0.25)10
=(11.25)10
规律:个位上的数字的次数是0,⼗位上的数字的次数是1,......,依奖递增,⽽⼗分位的数字的次数是-1,百分位上数字的次数是-2,......,依次递减。
注意:不是任何⼀个⼗进制⼩数都能转换成有限位的⼆进制数。
(2)⼗进制转⼆进制·⼗进制整数转⼆进制数:“除以2取余,逆序排列”(短除反取余法)
例:(89)10=(1011001)22 89
2 44 (1)
2 22 0
2 11 0
2 5 (1)
2 2 (1)
2 1 0
0 (1)
·⼗进制⼩数转⼆进制数:“乘以2取整,顺序排列”(乘2取整法)
例: (0.625)10= (0.101)20.625
X 2
1.25 1
X 2
0.5 0
X 21.0 1
2.⼋进制与⼆进制的转换:
⼆进制数转换成⼋进制数:从⼩数点开始,整数部分向左、⼩数部分向右,每3位为⼀组⽤⼀位⼋进制数的数字表⽰,不⾜3位的要⽤“0”补⾜3位,就得到⼀个⼋进制数。
⼋进制数转换成⼆进制数:把每⼀个⼋进制数转换成3位的⼆进制数,就得到⼀个⼆进制数。
例:将⼋进制的37.416转换成⼆进制数:3 7 .
4 1 6
011 111 .100 001 110
即:(37.416)8 =(11111.10000111)2
例:将⼆进制的10110.0011 转换成⼋进制:0 1 0 1 1 0 . 0 0 1 1 0 0
2 6 . 1 4
即:(10110.011)2=(26.14)83.⼗六进制与⼆进制的转换:
⼆进制数转换成⼗六进制数:从⼩数点开始,整数部分向左、⼩数部分向右,每4位为⼀组⽤⼀位⼗六进制数的数字表⽰,不⾜4位的要⽤“0”补⾜4位,就得到⼀个⼗六进制数。
⼗六进制数转换成⼆进制数:把每⼀个⼋进制数转换成4位的⼆进制数,就得到⼀个
⼆进制数。
例:将⼗六进制数5DF.9 转换成⼆进制:5 D F . 9
0101 1101 1111 .1001
即:(5DF.9)16=(10111011111.1001)2
例:将⼆进制数1100001.111 转换成⼗六进制:0110 0001 . 1110
6 1 . E
即:(1100001.111)2=(61.E)16
注意:以上所说的⼆进制数均是⽆符号的数。这些数的范围如下表:
⽆符号位⼆进制数位数数值范围⼗六进制范围表⽰法8位⼆进制数0~255 (255=28-1)00~0FFH16位⼆进制数0~65535 (65535=216-1)0000H~0FFFFH
32位⼆进制数0~232-1 00000000H~0FFFFFFFFH