进制转换和原码补码

进制转换和原码补码
进制转换和原码补码

必备基础:

第一部分:进制转换

→二进制(Binary):由0~1构成,逢2进1 11B →3D

八进制(Octal):由0~7构成,逢8进1 11Q →9D

十进制(Decimal):由0~9构成,逢10进1 111D →111D

十六进制(Hex):由0~9、A~F构成,逢16进1 11H →17D

→两个基本概念

基数:n进制基数为n

111.11D = 1*102 + 1*101 + 1*100 + 1*10-1 + 1*10-2

位权:小数点左边第k位位权为:基数k-1

小数点右边第k位位权为:基数-k

→进制转换

1.其他进制→十进制(按权展开求和法)

123.45D = 1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2

11001.11B = 1*24 + 1*23 + 1*20 + 1*2-1 + 1*2-2 = 16+8+1+0.5+0.25

= 25.75D 123.4Q = 1*82 + 2*81 + 3*80 + 4*8-1 = 64+16+3+0.5 = 83.5D

123.4H = 1*162 + 2*161 + 3*160 + 4*16-1 = 256+32+3+0.25

= 291.25D

2.十进制→其他进制

→整数部分:基数除法,倒序取余。

→小数部分:基数乘法,顺序取整。

76.375D = 1001 100.011 B

= 114.3 Q

= 4C.6 H

276 0.375*2=0.75-------0 ↓

38------0 ↑ 0.75*2=1.5--------1↓

19------0 ↑ 0.5*2=1----------1↓

9------1 ↑

4------1 ↑

2------0 ↑

1------0 ↑

0------1 ↑

8 76 = 114Q 0.375D = 0.3Q

9-----4 ↑ 0.375*8 = 3------3 ↓

1------1 ↑

0------1 ↑

16 76 = 4CH 0.375D = 0.6H

4-----C ↑ 0.375*16 = 6--------6 ↓

0-----4 ↑

3.其他进制之间的互相转换

1)二进制与八进制(3位二进制与1位八进制一一对应“421”)

000→0 100→4

001→1 101→5

010→2 110→6

011→3 111→7

001,100,001B→141Q 001,000,001B→101Q

00,110,001B→61Q

753Q→111 101 011B

2)二进制与十六进制(4位二进制与1位十六进制一一对应“8421”)

0000→0 1000→8

0001→1 1001→9

0010→2 1010→A

0011→3 1011→B

0100→4 1100→C

0101→5 1101→D

0110→6 1110→E

0111→7 1111→F

0111,1101,1110B→7DEH

0110,0001B→61H 0100,0001B→41H

6A7DH→0110 1010 0111 1101B

3)八进制与十六进制

第二部分:数据表示

一、整型数据的分类:

1.无符号整型数据:所有位均表示大小。

N位无符号整型数据表示的取值范围为:0~2N-1

2.带符号整型数据:最高位表示符号:0为正、1为负。→常用原码、反码、补码表示。

正数:三码同一。

例:已知x=+76D ,写出x的三码表示(8位)

解:x=+76D=+1001100B

因为x>0

所以:[x]原=[x]反=[x]补=01001100B

负数:

例1:已知x= -76D ,写出x的三码表示(8位)

解:x= -76D= -1001100B

[x]原=1 1001100B

[x]反=1 0110011B

[x]补=1 0110100B

例2:已知:[x]原=[y]反=[z]补=1100 1011B,求出x、y、z的大小关系。

[x]原=1100 1011B → x = -100 1011B

[y]反=1100 1011B

→[y]原=1011 0100B → y= -011 0100B

[z]补=1100 1011B

→[z]原=1011 0101B → z= -011 0101B

所以: y>z>x

8位原码的取值范围:1 111 1111B~0 111 1111B即–(27-1)~ 27-1 -127D~+127D [+0]原:0 000 0000B

[-0]原:1 000 0000B

8位补码的取值范围:1 000 0000B~0 111 1111B即 -27 ~ 27-1 -128D~+127D →N位补码的取值范围:-2N-1~2N-1-1

16位补码整数的取值范围:-32768~+32767

相关主题
相关文档
最新文档