计算机组成原理 day03 原码补码等运算

 8.9 移位运算

8.9.1 移位运算的分类

 8.9.2 算数移位

移位:通过改变各个数码位和小数点的相对位置,从而改变各数码位的位权。

8.9.3 原码的算数移位

原码 -- 符号位不变,数值位移位

右移:高位补0,低位舍弃。若舍弃位不是0,会丢失精度

左移:低位补0,高位舍弃。若舍弃位不为0,会严重误差

 

 

8.9.4 反码的算数移位

正数的反码与原码一致

负数的反码移位运算:

        1. 右移:高位补1,低位舍弃

        2. 左移:低位补1,高位舍弃 

8.9.5 补码的算数移位

 正数的补码与原码一致

负数的补码:

        1.右移:高位补1,低位舍弃

        2. 左移:低位补0,高位舍弃

8.9.6 算数移位的总结

位数有限,无法精确表示乘除法

8.9.7 算数移位的应用

像X7这样的数可以分解为 X(2^0+2^1+2^2)

 8.9.8  逻辑移位

逻辑右移:高位补0,低位舍弃

逻辑左移:低位补0,高位舍弃

看作无符号位的算数移位

8.9.9 逻辑移位的应用

 8.9.10 循环移位

不带进位位:用移出的位补上空缺

带进位位:移出的位放到进位位,原进位位补上空缺

8.10 加法运算和溢出判断

8.10.1 原码的加减法

加法器直接对原码加法运算,可能会出错。

8.10.2 补码的加减法

 补码的加减法,最终都变成加法,由加法器实现运算,符号位也参与运算

8.10.3 溢出判断

如何判断上溢和下溢? 

硬件判断溢出的第一种方法:

 硬件判断溢出的第二种方法

第三种方法:采用双符号位 

8.10.4 符号扩展

 定点整数:

        1. 正数        +0

        2. 负数        原码+0,反码补码+1

定点小数:

        1.正数        +0

        2.负数        原码补码+0,反码+1

8.10.5 回顾

8.11 原码的乘法计算

手算乘法的过程

先加法再移位

逻辑右移,高位补0,低位舍弃

 原码一位乘法(手算)

整数的乘法与小数的类似

8.12 补码的乘法运算

补码与原码乘法的比较:

        1. 补码:n轮加法、移位、再多来一次加法

        2. 补码:加法加的数不一样(根据MQ中最低位、辅助位判定)

        3. 补码是算术右移

        4. 符号位参与运算

所谓的辅助位,就是把MQ寄存器多扩展一位

手算 补码乘法

        算术右移:符号位不动,数值位右移,正数右移补0,负数右移补1        

8.13 原码的除法运算

8.13.1 运算器的基本组成

运算器:实现算术运算、逻辑运算

除法:

1. ACC:被除数、除数

2. MQ:商

3.X:除数

8.13.2 恢复余数法

上商0/1,得到余数,余数末尾补0

默认上商1,如果不对再改为上商0,并恢复余数

应该商0 

手算:恢复余数法 

8.13.3 加减交替法

若余数为负数,可直接商0,让余数左移1位再加上除数的绝对值。

若为正数商1,减去除数的绝对值

只是被除数小于除数,计算机通过第一次计算的商确定,如果为1直接结束运算,机器无法表示这个定点数。

8.14 补码除法

8.14.1 加减交替法

补码除法:

1. 符号位参与运算

2.采用双符号位

末尾恒置1

8.15 除法运算回顾

8.16 强制类型转换

C语言中定点整数是用“补码”存储的

8.17 大小端模式

大端:便于人类阅读

小段:便于机器处理

 边界对齐的存储方式

现代计算机通常是按字节编址即每个字节对应1个地址
通常也支持按字、按半字、按字节寻址
假设存储字长为32位,2则1个字=32bit,半字=16bit。 每次访存只能读/写1个字
 

字地址逻辑左移两位得到字节地址

 边界不对齐的存储方式:

空间换时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZuckD

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值