二进制八进制十进制和十六进制关系.docx

上传人:b****4 文档编号:4692373 上传时间:2023-05-07 格式:DOCX 页数:29 大小:26.04KB
下载 相关 举报
二进制八进制十进制和十六进制关系.docx_第1页
第1页 / 共29页
二进制八进制十进制和十六进制关系.docx_第2页
第2页 / 共29页
二进制八进制十进制和十六进制关系.docx_第3页
第3页 / 共29页
二进制八进制十进制和十六进制关系.docx_第4页
第4页 / 共29页
二进制八进制十进制和十六进制关系.docx_第5页
第5页 / 共29页
二进制八进制十进制和十六进制关系.docx_第6页
第6页 / 共29页
二进制八进制十进制和十六进制关系.docx_第7页
第7页 / 共29页
二进制八进制十进制和十六进制关系.docx_第8页
第8页 / 共29页
二进制八进制十进制和十六进制关系.docx_第9页
第9页 / 共29页
二进制八进制十进制和十六进制关系.docx_第10页
第10页 / 共29页
二进制八进制十进制和十六进制关系.docx_第11页
第11页 / 共29页
二进制八进制十进制和十六进制关系.docx_第12页
第12页 / 共29页
二进制八进制十进制和十六进制关系.docx_第13页
第13页 / 共29页
二进制八进制十进制和十六进制关系.docx_第14页
第14页 / 共29页
二进制八进制十进制和十六进制关系.docx_第15页
第15页 / 共29页
二进制八进制十进制和十六进制关系.docx_第16页
第16页 / 共29页
二进制八进制十进制和十六进制关系.docx_第17页
第17页 / 共29页
二进制八进制十进制和十六进制关系.docx_第18页
第18页 / 共29页
二进制八进制十进制和十六进制关系.docx_第19页
第19页 / 共29页
二进制八进制十进制和十六进制关系.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

二进制八进制十进制和十六进制关系.docx

《二进制八进制十进制和十六进制关系.docx》由会员分享,可在线阅读,更多相关《二进制八进制十进制和十六进制关系.docx(29页珍藏版)》请在冰点文库上搜索。

二进制八进制十进制和十六进制关系.docx

二进制八进制十进制和十六进制关系

二进制、八进制、十进制和十六进制关系

为什么需要八进制和十六进制?

由于数据在计算机中的表示,最终以二进制的形式存在,所以有时候使用二进制,可以更直观地解决问题。

但二进制数太长了。

面对太长的数进行思考或操作,没有人会喜欢。

用16进制或8进制可以解决这个问题。

因为,进制越大,数的表达长度也就越短。

不过,为什么偏偏是16或8进制,而不其它的,诸如9或20进制呢?

因为2、8、16,分别是2的1次方、3次方、4次方。

这一点使得三种进制之间可以非常直接地互相转换。

8进制或16进制缩短了二进制数,但保持了二进制数的表达特点。

假设有人问你,十进数1234为什么是一千二百三十四?

你尽可以给他这么一个算式:

权值

1

2

3

4

权位

3

2

1

0

1234=1*103+2*102+3*101+4*100

假设有人问你,二进数10,0000为什么是十进制的32?

你尽可以给他这么一个算式:

权值

1

0

0

0

0

0

权位

5

4

3

2

1

0

32=1*25+0*24+0*23+0*22+0*21+0*20

可以看出,所有进制换算成10进制,关键在于三个因素:

进制基数、权位和权值。

如何将二、八、十六进制数转换为十进制数。

(一)二进制数转换成十进制数

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,从最后一位开始算,依次列为第0、1、2...n位,第n位的数(0或1)乘以基数2的n次方,然后按十进制加法规则求和,得到的结果就是答案。

这种做法称为"按权相加"法。

例1:

(01100100)2=(100)10

计算过程:

0*20+0*21+1*22+1*23+0*24+1*25+1*26+0*27=

0乘以多少都是0,所以也可直接跳过值为0的位:

1*22+1*23+1*25+1*26=100

例2:

(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

例3:

(101.101)2=(5.625)10

(二)8进制数转换为10进制数,也按"按权相加"法,只将基数换成8即可。

例:

(1507)8=(839)10

计算过程:

1*83+5*82+0*81+7*80=839

(三)16进制数转换成10进制数,也按"按权相加"法,只将基数换成16即可。

例:

(2AF5)16=(10997)10,

计算过程:

2*163+A*162+F*161+5*160=10997(A表示10,F表示15)

附表1十进制与二进制、八进制、十六进制关系表

10进制

2进制

8进制

16进制

0

00000000

0

0

20

1

00000001

1

1

21

2

00000010

2

2

3

00000011

3

3

22

4

00000100

4

4

5

00000101

5

5

6

00000110

6

6

7

00000111

7

7

23

8

00001000

10

8

9

00001001

11

9

10

00001010

12

A

11

00001011

13

B

12

00001100

14

C

13

00001101

15

D

14

00001110

16

E

15

00001111

17

F

24

16

00010000

20

10

17

00010001

21

11

18

00010010

22

12

19

00010011

23

13

20

00010100

24

14

21

00010101

25

15

22

00010110

26

16

23

00010111

27

17

24

00011000

30

18

25

00011001

31

19

26

00011010

32

1A

27

00011011

33

1B

28

00011100

34

1C

29

00011101

35

1D

30

00011110

36

1E

31

00011111

37

1F

25

32

00100000

40

20

33

00100001

41

21

34

00100010

42

22

35

00100011

43

23

36

00100100

44

24

37

00100101

45

25

38

00100110

46

26

39

00100111

47

27

40

00101000

50

28

41

00101001

51

29

42

00101010

52

2A

43

00101011

53

2B

44

00101100

54

2C

45

00101101

55

2D

46

00101110

56

2E

47

00101111

57

2F

48

00110000

60

30

49

00110001

61

31

50

00110010

62

32

51

00110011

63

33

52

00110100

64

34

53

00110101

65

35

54

00110110

66

36

55

00110111

67

37

56

00111000

70

38

57

00111001

71

39

58

00111010

72

3A

59

00111011

73

3B

60

00111100

74

3C

61

00111101

75

3D

62

00111110

76

3E

63

00111111

77

3F

26

64

01000000

100

40

65

01000001

101

41

66

01000010

102

42

67

01000011

103

43

68

01000100

104

44

69

01000101

105

45

70

01000110

106

46

71

01000111

107

47

72

01001000

110

48

73

01001001

111

49

74

01001010

112

4A

75

01001011

113

4B

76

01001100

114

4C

77

01001101

115

4D

78

01001110

116

4E

79

01001111

117

4F

80

01010000

120

50

81

01010001

121

51

82

01010010

122

52

83

01010011

123

53

84

01010100

124

54

85

01010101

125

55

86

01010110

126

56

87

01010111

127

57

88

01011000

130

58

89

01011001

131

59

90

01011010

132

5A

91

01011011

133

5B

92

01011100

134

5C

93

01011101

135

5D

94

01011110

136

5E

95

01011111

137

5F

96

01100000

140

60

97

01100001

141

61

98

01100010

142

62

99

01100011

143

63

100

01100100

144

64

101

01100101

145

65

102

01100110

146

66

103

01100111

147

67

104

01101000

150

68

105

01101001

151

69

106

01101010

152

6A

107

01101011

153

6B

108

01101100

154

6C

109

01101101

155

6D

110

01101110

156

6E

111

01101111

157

6F

112

01110000

160

70

113

01110001

161

71

114

01110010

162

72

115

01110011

163

73

116

01110100

164

74

117

01110101

165

75

118

01110110

166

76

119

01110111

167

77

120

01111000

170

78

121

01111001

171

79

122

01111010

172

7A

123

01111011

173

7B

124

01111100

174

7C

125

01111101

175

7D

126

01111110

176

7E

27-1

127

01111111

177

7F

27

128

0000000010000000

200

80

129

0000000010000001

201

81

130

0000000010000010

202

82

28

256

0000000100000000

400

100

29

512

0000001000000000

1000

200

1000

0000001111101000

1750

3E8

210(KB)

1024

0000010000000000

2000

400

211

2048

0000100000000000

4000

800

212

4096

0001000000000000

10,000

1,000

213

8192

0010000000000000

20,000

2,000

10,000

0010011100010000

23,420

2,710

214

16,384

0100000000000000

40,000

4,000

215-1

32,767

0111111111111111

77,777

7,FFF

215

32,768

00000000000000001000000000000000

100,000

8,000

216-1

65,535

00000000000000001111111111111111

177,777

F,FFF

216

65,536

00000000000000010000000000000000

200,000

10,000

十万

100,000

00000000000000011000011010100000

303,240

18,6A0

百万

1,000,000

00000000000011110100001001000000

3,641,100

F4,240

220(MB)

1,048,576

00000000000100000000000000000000

4,000,000

100,000

千万

10,000,000

00000000100110001001011010000000

46,113,200

989,680

亿

100,000,000

00000101111101011110000100000000

575,360,400

5,F5E,100

十亿

1,000,000,000

00111011100110101100101000000000

7,346,545,000

3B,9AC,A00

230(GB)

1,073,741,824

01000000000000000000000000000000

10,000,000,000

40,000,000

231-1

2,147,483,647

01111111111111111111111111111111

17,777,777,777

7F,FFF,FFF

231

2,147,483,648

64位

20,000,000,000

80,000,000

如何将十进制数转换为二、八、十六进制数。

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

(一)十进制整数转换为二进制整数

十进制整数转换为二进制整数采用"除2取余,逆序排列"法。

具体做法是:

用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

例一:

(168)10=(10101000)2

计算过程:

2|168

2|84……0

2|42……0

2|21……0

2|10……1

2|5……0

2|2……1

2|1……0

0……1

例二:

(89)10=(1011001)2

2|89

2|44……1

2|22……0

2|11……0

2|5……1

2|2……1

2|1……0

0……1

(二)十进制小数转换为二进制小数

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。

具体做法是:

用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

例一:

(0.125)10=(0.001)2

计算过程:

第一步:

将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;

第二步:

将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;

第三步:

将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;

最后一步:

读数,从第一位读起,读到最后一位,即为0.001。

例二:

(0.625)10=(0.101)2

0.625×2

1.25×2

0.5×2

1.0

例三:

将0.45转换为二进制(保留到小数点第四位)

依次乘以2,当第五次做乘法时候,得到的结果是0.4,那么小数部分继续乘以2,得0.8,0.8又乘以2的,到1.6这样一直乘下去,最后不可能得到小数部分为零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有0和1两个,于是就出现0舍1入。

这个也是计算机在转换中会产生误差,但是由于保留位数很多,精度很高,所以可以忽略不计。

最后得出结果:

(0.45)10≈(0.0111)2

(三)10进制数转换为8进制数

10进制数转换成8进制的方法,和转换为2进制的方法类似,惟一变化:

除数由2变成8。

①整数部分

方法:

除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。

②小数部分

方法:

乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。

例一:

(120)10=(170)8

计算过程:

8|120

8|15……0

8|1……7

0……1

例二:

(5621)10=(12765)8转为八进制

计算过程:

8|5621

8|702……5

8|87……6

8|10……7

8|1……2

0……1

例三:

(796.703125)10=(1434.55)8

(四)10进制数转换成16进制

方法:

和转换为2进制的方法类似,惟一变化:

除数由2变成16。

例一:

(120)10=(78)16

计算过程:

8|120

8|7……8

0……7

例二:

(76521)10=(12AE9)16

16|76521

16|4782……9

16|298……14

16|18……10

16|1……2

0……1

二进制数与八进制、十六进制数互换

首先,我们需要了解一个数学关系,即23=8,24=16,而八进制和十六进制是用这种关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数。

接着,记住4个数字8、4、2、1(23=8、22=4、21=2、20=1)。

现在我们来练习二进制与八进制之间的转换。

(一)二进制与八进制之间的转换

二进制与八进制间的关系

二进制

000

001

010

011

100

101

110

111

八进制

0

1

2

3

4

5

6

7

(1)二进制转换为八进制

方法:

取三合一法,即从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组,如果无法凑足三位,可以在整数的最高位、小数的最低位添0,凑足三位。

接着将这三位二进制按权相加,得到的数就是一位八位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的八进制数。

例一:

(10110.0011)2=(26.14)8

计算过程:

010110.001100

26.14

例二:

(1101.1)2=(15.4)8

例三:

(101110.101)2=(56.5)8

(2)将八进制转换为二进制

方法:

取一分三法,即将一位八进制数分解成三位二进制数,用三位二进制按权相加去凑这位八进制数,小数点位置照旧。

首先,将八进制按照从左到右,每位展开为三位,小数点位置不变;然后,将每位展开为22,21,20(即4、2、1)三位配a、b、c(a=1或者a=0,b=1或者b=0,c=1或者c=0)去做凑数,即a×22+b×21+c×20=该位上的数,将a、b、c排列就是该位的二进制数;接着,将每位上转换成二进制数按顺序排列;最后,就得到了八进制转换成二进制的数字。

例一:

(37.416)8=(11111.10000111)2

计算过程:

37.416

011111.100001110

例二:

(67.54)8=(110111.1011)2

(二)二进制与十六进制的转换

二进制与十六进制的关系

2进制

0000

0001

0010

0011

0100

0101

0110

0111

16进制

0

1

2

3

4

5

6

7

2进制

1000

1001

1010

1011

1100

1101

1110

1111

16进制

8

9

A10

B11

C12

D13

E14

F15

方法:

与二进制与八进制转换相似,只不过是一位(十六)与四位(二进制)的转换,下面具体讲解

(1)二进制转换为十六进制

方法:

取四合一法,即从二进制的小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组,如果无法凑足四位,可以在整数的最高位、小数的最低位添0,凑足四位。

接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。

例一:

(1100001.111)2=(61.E)16

计算过程:

01100001.1110

61.E

例二:

(101011.101)2=(2B.A)16

例三:

(11101001.1011)2=(E9.B)16

(2)将十六进制转换为二进制

方法:

取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

例一:

(5DF.9)16=(10111011111.1001)2

计算过程:

5DF.9

010*********

例二:

(6E.2)16=(110110.001)2

原码、反码、补码

我们已经知道计算机中,所有数据最终都是使用二进制数表达。

一个负数如何用二进制表达?

在计算机中,负数以其正值的补码形式表达。

什么叫补码呢?

这得从原码,反码说起。

原码:

一个整数,按照绝对值大小转换成的二进制数,称为原码。

反码:

将二进制数按位取反,所得的新二进制数称为原二进制数的反码。

取反操作指:

原为1,得0;原为0,得1。

(1变0;0变1)

补码:

反码加1称为补码。

也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。

负值的十进制、二进制、八进制、十六进制关系转换方法

通过上面原码、反码和补码的关系,我们知道对于有符号整数,其在内存中最左边的一位表示符号位。

如果该位为0,则说明该数为正;若为1,则说明该数为负。

也就是说:

最高位为符号位,应该观察最高位,判断符号的正负。

(一)负值的2进制转10进制方法

观察权值0的上一位,如果是1,就以它作为权位n,公式为-1*2n+0*2n-1+…+m*20(m代表权值1或0)

(二)负值的8进制转10进制方法

观察权值,找出最高位满足2进制下不含0的最高位,以它为权位n,将该权值按2进制进位(如1进位为2,3进位为4,7进位为8),公式为-(K-m)*8n+…+m*80(K代表进位后的值,m代表不进位的权值)

(三)负值的16进制转10进制方法

观察权值,找出最高位满足2进制下不含0的最高位,以它

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2