计算机组成原理-定点数的表示与运算

计算机组成原理-定点数的表示与运算 2021/8/14 22:57

定点数的表示与运算

定点数:小数点的位置固定
Eg:996.007 ——常规计数
浮点数:小数点的位置不固定
Eg:9.96007*102 ——科学计数法

定点数的表示

无符号数的表示

n位的无符号数表示范围为:0 ~ 2n -1

无符号数通常只有无符号整数,而没有无符号小数

有符号数的定点表示

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述原码转补码:取反加一
补码转原码:取反加一

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

原码反码补码的作用

(mod m) 的条件下,若能找到负数的补数,就可以用正数的加法来等价替代减法
补码——让减法操作转变为加法操作,节省硬件成本

移位运算

算术移位
原码的算数移位——符号位保持不变,仅对数值位进行移位。
右移:高位补0,低位舍弃。若舍弃的位=0,则相当于÷2;若舍弃的位≠0,则会丢失精度
左移:低位补0,高位舍弃。若舍弃的位=0,则相当于×2;若舍弃的位≠0,则会出现严重误差

反码的算数移位——正数的反码与原码相同,
因此对正数反码的移位运算也和原码相同。
右移:高位补0,低位舍弃。
左移:低位补0,高位舍弃。
反码的算数移位——负数的反码数值位与原
码相反,因此负数反码的移位运算规则如下,
右移:高位补1,低位舍弃。
左移:低位补1,高位舍弃。
补码的算数移位——正数的补码与原码相同,
因此对正数补码的移位运算也和原码相同。
右移:高位补0,低位舍弃。
左移:低位补0,高位舍弃。
补码的算数移位——负数补码=反码末位+1
导致反码最右边几个连续的1都因进位而变
为0,直到进位碰到第一个0为止。
规律——负数补码中,最右边的1及其右边
同原码。最右边的1的左边同反码
负数补码的算数移位规则如下:
右移(同反码):高位补1,低位舍弃。
左移(同原码):低位补0,高位舍弃。

算术移位的应用:等效乘除法
由于位数有限,因此有时候无法用算术移位精确地等效乘除法
在这里插入图片描述

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

逻辑移位的应用:将R、G、B合并成RGB

循环移位

在这里插入图片描述

定点数的加减运算和溢出判断

原码的加减运算

在这里插入图片描述

补码的加减运算

在这里插入图片描述

溢出判断

在这里插入图片描述在这里插入图片描述在这里插入图片描述
方法三结果中双符号位的高位表示原本正确的符号

符号扩展

在这里插入图片描述

乘法运算

原码的乘法运算

在这里插入图片描述在这里插入图片描述在这里插入图片描述机器字长n+1位(包括1位符号位,n位数值位)
逻辑右移的时候不带符号位(或者说带符号位0)移动n次,最终符号位由原符号位异或确定
在这里插入图片描述

补码的乘法运算

在这里插入图片描述在这里插入图片描述在这里插入图片描述

除法运算

原码除法

1.恢复余数法
在这里插入图片描述在这里插入图片描述在这里插入图片描述2.加减交替法
在这里插入图片描述在这里插入图片描述虽然叫不恢复余数法,但是当最后一位余数为负时,仍然需要商0恢复余数
另:定点小数小于1,要保证定点小数除法得到的结果也是定点小数,因此定点小数的除法要保证被除数比除数小,结果小于一(第一步得到的商要为0,否则停止计算)

补码除法

在这里插入图片描述末尾恒置一省事

在这里插入图片描述

强制类型转换

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

在这里插入图片描述

数据的存储和排列

1.大小端模式
大端模式:低位在低地址,高位在高地址
便于人类阅读
大端模式:高位在低地址,低位在高地址
便于机器处理
在这里插入图片描述2.边界对齐
在这里插入图片描述边界对齐方式可以方便寻址,访问一个字/半字都只需要一次访存(空间换时间)
边界不对齐方式可以充分利用储存空间

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Handsome Wong

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

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

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

打赏作者

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

抵扣说明:

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

余额充值