计算机组成原理数据表示考的多吗,计算机组成原理 数据的表示和运算 定点运算内容概览...

作者:因情语写

链接:https://www.proprogrammar.com/article/256

声明:请尊重原作者的劳动,如需转载请注明出处

2.3 定点运算

2.3.1 移位运算

移位移的是数,小数点不动

左移  绝对值扩大

右移  绝对值缩小

在计算机中,移位与加减配合,能够实现乘除运算

b903ba23feac25ab66b032641df69c13.png

算术移位的硬件实现

06f7fc26315653de6b61077cca5f6c15.png

4. 算术移位和逻辑移位的区别

算术移位  有符号数的移位

逻辑移位  无符号数的移位

逻辑左移  低位添0,高位移丢

逻辑右移  高位添0,低位移丢

算术移位不会改变数的正负,逻辑移位可能改变数的正负

2.3.2 加减法运算

1、补码加减运算公式

(1)加法

两数补的加=两数加的补    整数和小数

(2)减法

A-B = A+(-B)

两数差的补=A的补+(-B)的补

连同符号位一起相加,符号位产生的进位自然丢掉

3. 溢出判断

(1)一位符号位判溢出

两个数符号相同,结果符号与原操作数的符号不同,即为溢出

硬件实现

最高有效位的进位⊕符号位的进位 = 1 溢出

(2)两位符号位判溢出-变形补码(负11,正00)

结果的双符号位 相同 未溢出

结果的双符号位  不同  溢出

(3)进位判断法

最高数值位向符号位的进位C,符号位产生的进位输出值S,相同不溢出,不同则溢出

V=S⊕C

V=1,有溢出;V=0,无溢出

1536e089e2f8f22858c61bb300f37796.png

2.3.3 乘法运算(不太考)

A = -0.1101  B = 0.1011

2. 笔算乘法改进

A • B = A • 0.1011

= 2⁻¹{A+2⁻¹[0•A + 2⁻¹(A + 2⁻¹(A+0))]}

即每次相加得到部分积,再进行右移,相加得到部分积,再右移。。。

3. 改进后的笔算乘法过程(竖式)

9541673c513ab8f5b16655c07bd1523a.png

形成几次部分积,移位几次,形成几位最后要增加的移位形成的数

小结

乘法 运算可用加和移位实现

n = 4,加4次,移4次

由乘数的末位决定被乘数是否与原部分积相加,然后->1位形成新的部分积,同时乘数->1位(末位移丢),空出高位存放部分积的低位。

被乘数只与部分积的高位相加

硬件

3个寄存器(乘数,被乘数,中间结果),具有移位功能,1个全加器

4. 原码乘法

乘积的符号通过异或运算确定

(3)原码一位乘的硬件配置

d8f26c359316263dcf9006ad362995fc.png

5. 补码乘法

(1)补码一位乘运算规则

1)被乘数任意,乘数为正

同原码乘 但加和移位按补码规则运算

乘积的符号自然形成

2)被乘数任意,乘数为负

乘数[y]补,去掉符号位,操作同1)

最后加[-x]补,校正

Booth算法(被乘数、乘数符号任意)(了解)

最后一步不移位,即加比移位多一次

看一个例子

1248f06fa394ae3ccef59d244a746aa2.png

最后结果:1.11011111

c6cca83e1112d2794d767ceb6a8f621c.png

整数乘法与小数乘法完全相同

可用逗号代替小数点

原码乘 符号位单独处理

补码乘 符号位自然形成

原码乘去掉符号位运算 即为无符号数乘法

不同的乘法运算需有不同的硬件支持

2.3.4 除法运算

3. 原码除法

约定

小数定点除法被除数小于除数  整数定点除法 被除数大于除数

被除数不等于0 除数不能为0

(1)恢复余数法

上商试验,如果不够除要恢复余数

(2)不恢复余数法

上商n+1次,第一次上商判溢出,移n次,加n+1次,最后一次移位加后还要根据正负生成一位

上商(相加结果判正负) + 左移 + 加(正/负y的补)

(3)原码加减交替除法硬件配置

0542cc96bc356808714df8ff3d303ba7.png

4. 补码除法(不太考)

(1)商值的确定

(2)商符的形成

(3)新余数的获得

(4)小结

补码除法共上商n+1次(末位恒置1)

第一次为商符

第一次商可判溢出

加n次,移n次

用移位的次数判断除法是否结束

6937f284b7633c90990856fbef45b9c6.png

亲爱的读者:有时间可以点赞评论一下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值