计算机带符号数的运算,微机原理-带符号数的表示及运算.ppt

微机原理-带符号数的表示及运算

(3) 溢出的判别 ① 溢出 定义:运算结果超出n位补码表示的数据范围 – (2n-1) ? + (2n-1 -1) 则产生溢出,运算结果不能表示 X ± Y 的补码。 例1:90 + 107 0 1 0 1 1 0 1 0 B [90]补 + 0 1 1 0 1 0 1 1 B [107]补 1 1 0 0 0 1 0 1 B 符号位为1,表示结果为负数 产生溢出,结果无意义 例2: (-110)- 92 1 0 0 1 0 0 1 0 [-110]补 + 1 0 1 0 0 1 0 0 [92]变补 0 0 1 1 0 1 1 0 符号位为0,表示结果为正数 产生溢出,结果无意义 ② 溢出的判别方法: 常用“双高位判别法” Cs:它表征最高位(符号位)的进位(对加法)或借位(对减法)情况。 Cp:它表征数值部分最高位的进位(对加法)或借位(对减法)情况。 若Cs和Cp同为0或同为1,便无溢出发生,只有当Cs和Cp为1/0或0/1状态时才会发生溢出。无溢出则置标志位OV=0;有溢出则置标志位OV=1 。 用数学算式表示: Cs ? Cp = 0 无溢出 Cs ? Cp = 1 溢出 :CsCp = 01为正溢出 CsCp = 10为负溢出 例1:90 + 107 0 1 0 1 1 0 1 0 B [90]补 + 0 1 1 0 1 0 1 1 B [107]补 0 1 1 1 0 0 0 1 0 1 B Cs =0 Cp =1 正溢出 例2: (-110)- 92 1 0 0 1 0 0 1 0 [-110]补 + 1 0 1 0 0 1 0 0 [-92]补 1 0 0 0 1 1 0 1 1 0 Cs =1 Cp =0 负溢出 四、无符号数的表示及其运算 1、无符号数的表示 表示的都是正数 字长的n位都是数值位,无符号位 8位无符号数表示的数值范围为 0 ?255 ( 28-1) 推广:n位无符号数表示的数值范围为 0 ? 2n-1 2、无符号数的加法 加法运算规则: [X+Y]补 = [X]补 + [Y]补 ( X 、 Y 、 X+Y < 2 n) 其中 [X]补 = X, [Y]补 = Y , [X+Y]补 = X+Y 无符号数的和必为正数。 运算中和补码数运算一样设置标志 例1: 96 + 80 [X]补 =X=96D, [Y]补=Y=80D 0 1 1 0 0 0 0 0 B + 0 1 0 1 0 0 0 0 B 1 0 1 1 0 0 0 0 B = X + Y = 176D 例2: 129 + 79 [X]补 =X=193D , [Y]补 =Y=227D 1 1 0 0 0 0 0 1 B + 1 1 1 0 0 0 1 1 B 1 1 1 0 1 0 0 1 0 0 B ≠ X+Y 无符号数相加:进位标志C是判别溢出的依据。 2、无符号数的减法 减法运算规则: [X-Y]补 = [X]补 + [-Y]补 其中 [X]补 = X, [Y]补 =

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值