计算机组成原理字符的运算,符号数的表示与运算-计算机组成原理与汇编语言-电子发烧友网站...

本文介绍了二进制数的三种表示方法:原码、反码和补码,以及它们在计算机中的应用。补码在微处理器中用于表示带符号数,通过取反加1的方式表示负数。此外,还探讨了如何使用补码进行加减运算,以及定点数和浮点数的概念,浮点数通过阶码和尾数进行表示,提供了一种灵活的数值表示方式。
摘要由CSDN通过智能技术生成

1.5.1 符号数的表示方法

表示一个带符号的二进制数有3种方法。

1.原码法

例如:

8位二进制符号数(+45)10和(-45)10,可以如下写出:

(+45)10=(0  0101101)2

↑  ↑

符号 位数值

(-45)10=(1 0101101)2

↑  ↑

符号位 数值

2.反码法

在计算机的早期,曾采用反码法来表示带符号的数。对于正数,

其反码与其原码相同。

例如:

(+45)10=(00101101)2

也就是说正数用符号位与数值凑到一起来表示。对于负数,用相

应正数的原码各位取反来表示,包括将符号位取反,取反的含义就是将

0变为1,将1变为0。例如,(-45)10的反码表示就是将上面

(+45)10的二进制数各位取反:

(-45)10=(11010010)2同样,可以写出如下几个数的反码表示,以便

读者对照:

(+4)10=(00000100)2

(-4)10=(11111011)2

(+7)10=(00000111)2

(-7)10=(11111000)2

(+122)10=(01111010)2

(-122)10=(10000101)2

3. 补码法

在微处理机中,符号数是用补码(对2的补码)来表示的。用补码法表示带符号数的法则是:正数的表示方法与原码法和反码法一样;负数的表示方法为

该负数的反码表示加1。

例如,(+4)10的补码表示为(00000100)2,而(-4)10用补码表示时,可先求其反码表示(11111011)2,而后再在其最低位加1, 变为(11111100)2 。这就

是(-4)10的补码表示,即(-4)10=(11111100)2。同样,我们把前面提到的几个数的补码表示列在下面供读者参考:

(+7)10=(00000111)2

(-7)10=(11111001)2

(+122)10=(01111010)2

(-122)10=(10000110)2

1.5.2 补码的运算

例如:

有两个二进制数10000100和00001110,当规定它们是不带符号的数时,则它们分别表示(132)10和(14)10,将这两个二进制数相加:

10000100

+ 00001110

_____________

10010010

在微处理器中,一般都不设置专门的减法电路。遇到两个数相减时,处理器就自动地将减数取补,而后将被减数和减数的补码相加来完成减法运算。

例如,(69)10(26)10=?

可以写成(69)10+(26)10。利用(69)10的原码和(26)10 的补码相加,即可以得到正确的结果读者可以自己进行验证。

例如:

两个带符号数(01000001)2(十进制数+65)与(01000011)2(十进制数+67)相加:

01000001

+ 01000011

____________

10000100

再来看两个负数(10001000)2和(11101110)2的相加情况。

10001000

+ 11101110

____________

101110110

此外,在微处理机中还会遇到不带符号数的运算。

例如:

两个无符号数(11111101)2和(00000011)2相加:

11111101

+ 00000011

____________

100000000

1.5.3数的定点表示和浮点表示

1. 数的定点表示法

当小数点固定在最高有效位的前面时,定点数为纯小数,其格式如图所示:

f875093985430d3ccb63150e1afbbe62.png   ↑    数码   小数点

2. 数的浮点表示法

在十进制中,一个数可以写成多种表示形式。

例如:

83.125可写成10^2×0.83125,10^3×0.083125,10^4×0.0083125。同样,一个二进制数,也可以写成多种表示形式。

例如:

二进制数1011.10101可以写成2^4×0.101110101,2^5×0.0101110101,2^6×0.00101110101等等。

可以看出,一个二进制数能够用一种普遍的形式来表示:

2^E×F

其中E称为阶码,F叫做尾数。我们把用阶码和尾数表示的数叫做浮点数,这种表示数的方法称为浮点表示法在浮点表示法中,阶码通常为带符号的整数,

尾数为带符号的纯小数。浮点数的表示格式如下:

e5ce02d287ba807ea3c8f8d64e662507.png

小数点

很明显,浮点数的表示不是唯一的。当小数点的位置改变时,阶码也随 着相应改变,可以用多种形式来表示同一数。 可见,若浮点数的表示格式为:

1432.jpg

1位               R位      1位                 P位

则可以看到,用这种编码所能表示的数的数值范围为:

6031409d6f076ecd570e62703feeba8f.png

前面的二进制数1011.10101可以用包括符号在内的8位阶码,16位尾数的 规格化形式表示如下:

1434.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值