进制转换和原码补码

更新时间:2023-10-13 01:43:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

必备基础:

第一部分:进制转换

?二进制(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

2 1 0 -1 -2

111.11D = 1*10+ 1*10+ 1*10+ 1*10+ 1*10

k-1

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

-k

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

?进制转换

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

123.45D = 1*10+ 2*10+ 3*10+ 4*10

4

3

0

2

1

0

-1

+ 5*10

-2

-2

11001.11B = 1*2+ 1*2+ 1*2+ 1*2+ 1*2= 16+8+1+0.5+0.25

= 25.75D

2 1 0 -1

123.4Q = 1*8+ 2*8+ 3*8+ 4*8= 64+16+3+0.5 = 83.5D

2 1 0 -1

123.4H = 1*16+ 2*16+ 3*16+ 4*16= 256+32+3+0.25

= 291.25D

-1

2.十进制?其他进制

?整数部分:基数除法,倒序取余。 ?小数部分:基数乘法,顺序取整。 76.375D = 1001 100.011 B = 114.3 Q = 4C.6 H

2 76 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

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

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

正数:三码同一。

例:已知x=+76D ,写出x的三码表示(8位) 解:x=+76D=+1001100B 因为x>0

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

负数: 原码 符号不变,其它位取反 反码 末位加1 补码

“取反加1”

例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

本文来源:https://www.bwwdw.com/article/zfef.html

Top