定点数和浮点数四则运算

本文详细介绍了有符号数的运算规则,包括正数和负数的补码、反码和移码表示,以及【y】补和【-y】补的关系。还探讨了定点数与浮点数的区别,算术移位和逻辑移位规则,并讨论了无符号数的扩展和符号扩展。此外,解释了如何判断溢出,以及加法和减法运算中的溢出条件。最后,提到了定点表示和浮点表示在计算中的应用。
摘要由CSDN通过智能技术生成

有符号数的运算规则

正数

正数的补码、反码、移码和原码相同

负数

用‘0’表示‘正’,用‘1’表示‘负’
负整数
补码:按位取反,末位加1,符号位不变
反码:按位取反
移码:补码的反符号位
负小数
补码:整数部分为1,按位取反,末位加1,符号位不变
反码:整数部分为1,按位取反
移码:整数部分为1,补码的反符号位

【y】补和【-y】补的关系

连同符号位在内,每位取反,末位加1

定点数和浮点数的区别

定点数受字长的限制,超出范围会有溢出。浮点数的精度由尾数决定,数的表示范围由阶码决定。

算术移位规则(有符号数)

正数
无论是左移还是右移,添补代码均为0
负数
原码:无论是左移还是右移,添补代码均为0
补码:左0右1
反码:无论是左移还是右移,添补代码均为0

逻辑移位规则(无符号数)

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

无符号数的扩展

只需在高位添0

定点整数的符号扩展

正数:添0
负数:原码添0、反码和补码添1

定点小数的符号扩展

正数:添0
负数:原码和补码0、反码添1

无符号数和有符号数的转化

先将数字用原码表示出来,然后转化为补码
无符号数转化为有符号数:将第一个数字当成符号位
有符号位转化为无符号数:将符号位当成数字

加法和减法运算

现代计算机中,都采用补码作加减法运算
加法
整数 [A]补+[B]补=[A+B]补(mod 2^(n+1))
小数 [A]补+[B]补=[A+B]补(mod 2)
减法
整数 [A-B]补=[A]补+[-B]补(mod 2^(n+1))
小数 [A-B]补=[A]补+[-B]补(mod 2)
连同符号位一起相加,符号位产生的进位自然丢掉

溢出

正数:
符号相同的两个数相加才可能出现溢出
符号不同的两个数相加是不会溢出的
负数:
符号不同的两个数相减才可能出现溢出
符号相同的两个数相减不会溢出

判断溢出的方法

无论加法还是减法。只要实际参加操作的两个数(减法时即为被减数和“求补”以后的减数)符号相同,结果又与原操作数的符号不同,即为溢出
在这里插入图片描述

两位符号位判断溢出

两位符号位不同时,表示溢出,否则,无溢出
高位(第一位)符号位永远代表正真的符号
“10”符号位为1,0表示负溢出
“01”符号位为0,1表示正溢出

数的定点表示和浮点表示

定点表示

在这里插入图片描述

浮点表示

浮点数的一般表示形式
在这里插入图片描述
在这里插入图片描述
浮点数的表示范围
在这里插入图片描述
浮点数的规格化
r = 2,尾数最高位为1
r = 4,尾数最高2位不全为0
r = 8,尾数最高3位不全为0
在这里插入图片描述

加法和减法运算的例子

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

在这里插入图片描述

判断溢出的例子

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

两位符号位判断溢出的例子

在这里插入图片描述

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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值