计算机组成原理(6)计算机的运算方法

1 无符号数和有符号数

目录

1 无符号数和有符号数

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

3 定点运算



一、 无符号数
无符号数就是指正整数,机器字长的全部位数均用来表示数值的大小,相当于数的绝对值。

一、 有符号数

1、机器数与真值
带符号数是指在计算机中将数的符号数码化。在计算机中,一般规定二进制的最高位为符号位,最高位为“0”表示该数为正,为“1”表示该数为负。这种在机器中使用符号位也被数码化的数称为机器数,把带‘+’或‘-’符号的数称为真值。

根据符号位和数值位的编码方法不同,机器数分为原码,补码和反码。

2、原码表示法

机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出。这是与真值最接近的一种表示形式。为了区别整数和小数,约定整数的符号位与数值位之间用逗号隔开;小数的符号位与数值位之间用小数点隔开。
3、补码表示法
(1)补数
对模12来说,-5可以用其补数+7表示。
一个负数可用它的正补数来代替,而这个正补数可以用模加上负数本身求得。
一个正数和一个负数互为补数时,它们的绝对值之和即为模数。
正数的补数即该正数本身。
(2)补码
x=+1010,则x的补码位0,1010
x=-0.1101,则x的补码为1.0011。
当真值为负时,补码可由原码除符号位外每位取反,末位加1求得。

4、反码表示法
反码通常用来作为由原码求补码或者由补码求原码的中间过渡。

5、三种机器数总结
(1)三种机器数的最高位均为符号位。符号数和数值部分之间可用“.”(小数)或“,”(整数)隔开。
(2)当真值为正时,原码、补码和反码的表示形式均相同,即符号位用“0”表示,数值部分与真值相同。
(3)当真值为负时,原码、补码和反码的表示形式不同,但其符号位都用“1”表示,而数值部分有这样的关系,即补码是原码的“求反加1”,反码是原码的“每位求反”。
6、移码
同一个真值的移码和补码仅差一个符号位,若将补码的符号位由“0”改为“1”,或从“1”改为“0”,即可得到该真值的移码。

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


一、定点表示
小数点固定在某一位置的数为定点数,当小数点位于数符和第一数值位之间时,机器内的数为纯小数;当小数点位于数值位之后时,机器内的数为纯整数。采用定点数的机器称为定点机。
二、浮点表示
1、浮点数是指小数点位置可浮动的数据,通常以下式表示:
N = S × r的j次方
式中,S为尾数,j为阶码,r是基数。在计算机中,基数可取2、4、8或16等。
2、浮点数由阶码j和尾数S表示,阶码是整数,阶符和阶码的位数m合起来反应浮点数的表示范围及小数点的实际位置;尾数是小数,其位数n反映了浮点数的精度;
3、浮点数的规格化
将尾数最高位为1的浮点数称为规格化数,浮点数规格化后,其精度最高。
当基数为2时,尾数最高位为1的数为规格化数。规格化时,尾数左移一位,阶码减一;尾数右移一位,阶码加一。

3 定点运算


一、移位运算
1、算数移位规则
正数:原码、补码、反码 填0;
负数:原码 填0; 补码 左移填0,右移填1; 反码 填1;
2、
对于正数,三种机器数移位后符号均不变,左移时最高数位丢1,结果出错;右移时最低位丢1,影响精度。
对于负数,三种机器数算数移位后符号位均不变。负数原码左移时,高位丢1,结果出错;右移时,低位丢1,影响精度。负数的补码左移时,高位丢0,结果出错
3、算术移位和逻辑移位的区别
算术移位:有符号数的移位。
逻辑移位:无符号数的移位。
逻辑左移:低位填0,高位移丢。
逻辑右移:高位填0,低位移丢。

二、加减法运算
1、补码加减运算公式

2、溢出判断
当运算结果超出机器数所能表示的范围时,称为溢出.显然,两个异号数相加或两个同号数相减,其结果是不会溢出的.仅当两个同号数相加或者两个异号数相减时,才有可能发溢出的情况,一旦溢出,运算结果就不正确了,因此必须将溢出的情况检查出来.判别方法有三种:

1〉当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢出.

2〉当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位.如果C≠Cf ,则为溢出,所以溢出条件=C⊕Cf .

3〉采用双符号fs2fs1.正数的双符号位为00,负数的双符号位为11.符号位参与运算,当结果的两个符号位甲和乙不相同时,为溢出.所以溢出条件= fs2⊕fs1 ,或者溢出条件= fs2fs1 + fs2fs1

三、乘法运算

四、除法运算

五、算数逻辑单元
1、ALU电路 (组合逻辑电路)
针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。当需要完成逻辑运算时,势必需要配置相应的逻辑电路,而ALU电路是既能完成算术运算又能完成逻辑运算的部件。

ALU部件是运算器中的主要组成部分,又称多功能函数发生器,主要用于完成各种算术运算和逻辑运算.

ALU的算术运算部件包含加法器,减法器,乘法器,除法器,增量器(+1),减量器(-1),BCD码运算器等组件.

ALU的主要工作是根据CPU指令要求执行各种指定运算,如加法,减法,乘法,除法,比较,逻辑移位等操作.

2、快速进位链
(1)并行加法器
并行加法器由若干个全加器组成,为了提高运算速度,减少延迟时间,可以采用并行进位法,也叫提前进位或先行进位.

(2)串行进位链:是指并行加法器中的进位信号采用串行传递。

(3)并行进位链:是指并行加法器中的进位信号是同时产生的,又称先行进位、跳跃进位等。
1)单重分组跳跃进位:就是将n位全加器分成若干小组,小组内的进位同时产生,小组与小组之间采用串行进位,这种进位又有组内并行、组间串行之称。
2)双重分组跳跃进位:就是将n位全加器分成若干大组,每个大组又分成若干小组,而每个大组内所包含的各个小组的最高位进位是同时产生的,大组与大组间采用串行进位。
 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值