您现在的位置:学赛首页 > 研究生院 > 复习辅导 > 正文
计算机组成原理串讲 第二章 数据编码与运算(一)
http://www.educity.cn 作者:不详 来源:希赛网 2006年4月28日 发表评论 进入社区

  第一节 数据编码

   一、定点数的编码

  定点数

  数值表示:(逢二进一)

  x = x0x1x2…xn xi={0,1}, 0≤i≤n

  x02n + x12n-1 + … + xn-121 + xn

  数值范围

  0≤x≤2n+1-1

  定点小数

  数值表示

  x = x0 . x1x2…xn xi={0,1}, 0≤i≤n

  x12-1 + … + xn-12-n+1 + xn2-n

  数值范围

  0≤x≤1-2-n

  1. 原码表示法

  定义(编码规则)

  [x]原 =

  

  [x]原

  

  数值(求值方法)

  x = (-1)x0(x12n-1 + … xn-12 + xn) x = (-1)x0(x12-1 + … xn-12-(n-1) + xn2-n)

  数值范围

  -2n +1 ≤ x ≤ 2n -1 -1+2-n ≤ x≤ 1-2-n

  简便编码方法:加符号位

  表 带符号数的四种编码表示

  


x0x1x2x3

作为原码编码时代表的值

0000

0

0001

+1

0010

+2

0011

+3

0100

+4

0101

+5

0110

+6

0111

+7

1000

-0

1001

-1

1010

-2

1011

-3

1100

-4

1101

-5

1110

-6

1111

-7

  在数轴上的表示:

  

  2. 补码表示法

  编码规则

  [x]补 =

  

  求值方法

  x = -x02n + x12n-1 + … + xn-12 + xn

  例如:10000100的真值为-128+4=-124

  数值范围

  -2n≤ x ≤ 2n -1

  简便方法1:正值直接取其原来的二进制码,对于负数是在对其按位取反之后再在最低位加1;

  简便方法2:从最低位开始,对遇到的0和第一个1取其原码,从第一个1以后开始直到最高位均取其按位反码。

  表 带符号数的四种编码表示

 


x0x1x2x3

原码

补码

0000

0

0

0001

+1

+1

0010

+2

+2

0011

+3

+3

0100

+4

+4

0101

+5

+5

0110

+6

+6

0111

+7

+7

1000

-0

-8

1001

-1

-7

1010

-2

-6

1011

-3

-5

1100

-4

-4

1101

-5

-3

1110

-6

-2

1111

-7

-1

  在数轴上的表示:

  

  模4补码

  [x]补 =

  

  3. 反码表示法

  [x]反 =

  

  x = -x0 (2n - 1) + x12n-1 + … + xn-12 + xn

  -2n +1≤ x ≤ 2n -1

  表 带符号数的四种编码表示

  


x0x1x2x3

原码

反码

补码

0000

0

0

0

0001

+1

+1

+1

0010

+2

+2

+2

0011

+3

+3

+3

0100

+4

+4

+4

0101

+5

+5

+5

0110

+6

+6

+6

0111

+7

+7

+7

1000

-0

-7

-8

1001

-1

-6

-7

1010

-2

-5

-6

1011

-3

-4

-5

1100

-4

-3

-4

1101

-5

-2

-3

1110

-6

-1

-2

1111

-7

-0

-1

  在数轴上的表示:

  

  4. 移码表示法

  定义

  [x]移 = 2n+x, -2n ≤ x < 2n

  数值范围

  -2n ≤ x ≤2n - 1

  特点:保持了数据原有的大小顺序,便于进行比较操作。

  表 带符号数的四种编码表示

  


x0x1x2x3

原码

反码

补码

移码

0000

0

0

0

-8

0001

+1

+1

+1

-7

0010

+2

+2

+2

-6

0011

+3

+3

+3

-5

0100

+4

+4

+4

-4

0101

+5

+5

+5

-3

0110

+6

+6

+6

-2

0111

+7

+7

+7

-1

1000

-0

-7

-8

0

1001

-1

-6

-7

1

1010

-2

-5

-6

2

1011

-3

-4

-5

3

1100

-4

-3

-4

4

1101

-5

-2

-3

5

1110

-6

-1

-2

6

1111

-7

-0

-1

7

  在数轴上的表示:

  

  定点小数没有移码定义

  移码与补码的关系

  编码表示的常见错误:编码与数值错位,编码带符号位,编码省略高位0