计算机进制之间相互转换

  • 格式: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