




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
例2 11已知 51 补 00110011B 66 补 01000010B 51 补 11001101B 66 补 10111110B求 66 补 51 补 66 补 51 补 66 补 51 补 由于 66 补 51 补 66 55 补 01110101B结果为正 因此 66 55 原 66 55 补 01110101B其真值为 117 计算结果正确 解 由于 66 补 51 补 66 55 补 0000111B结果为正 因此 66 55 原 66 55 补 00001111其真值为 15 计算结果正确 由于 66 补 51 补 10001011B 66 55 补结果为负 因此 66 55 原 66 55 补 补 11110101B其真值为 117 计算结果正确 2 补码减法补码减法的运算规则为 变补 连同符号位在内 各位取反 末位 1 2 2 6 即 例2 12已知 51 补 00110011B 66 补 01000010B 51 补 11001101B 66 补 10111110B求 66 补 51 补 66 补 51 补 解 66 补 51 补 66 补 51 补 66 补 51 补 66 补 51 补 可以看出 无论被减数 减数是正数还是负数 上述补码减法的规则都是正确的 同样 由最高位向更高位的进位会自动丢失而不影响运算结果的正确性 计算机中带符号数用补码表示时有如下优点 可以将减法运算变为加法运算 因此可使用同一个运算器实现加法和减法运算 简化了电路 无符号数和带符号数的加法运算可以用同一个加法器实现 结果都是正确的 例如 若两操作数为无符号数时 计算结果为无符号数11101110B 其真值为238 结果正确 若两操作数为补码形式 计算结果也为补码形式 11101110B为 18的补码 结果也是正确的 练习 1 x 1011010 y 1010000 求 x y 补 2 x 1011010 y 1010000 求 x y 补 3 x 1011010 y 1010000 求 x y 补 4 x 1011010 y 1010000 求 x y 补 2 2 5溢出及其判断方法1 进位与溢出所谓进位 是指运算结果的最高位向更高位的进位 用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围 溢出是指带符号数的补码运算溢出 用来判断带符号数补码运算结果是否超出了补码所能表示的范围 例如 字长为n位的带符号数 它能表示的补码范围为 2n 1 2n 1 1 如果运算结果超出此范围 就叫补码溢出 简称溢出 可能出现溢出的情况 1 两正数相加结果超出范围 结果变成负数 现象 次高位向最高位有进位 最高位相加 连同次高位进位 无进位 上溢 2 两负数相加结果超出范围 结果变成正数 现象 次高位向最高位无进位 最高位相加 连同次高位进位 有进位 下溢 3 两异号数相减正数减负数结果超出范围 同 1 负数减正数结果超出范围 同 2 2 溢出的判断方法判断溢出的方法很多 常见的有 观察法 通过参加运算的两个数的符号及运算结果的符号进行判断 单符号位法 该方法通过符号位和数值部分最高位的进位状态来判断结果是否溢出 双符号位法 又称为变形补码法 它是通过运算结果的两个符号位的状态来判断结果是否溢出 上述三种方法中 第一种方法仅适用于手工运算时对结果是否溢出的判断 其他两种方法在计算机中都有使用 限于篇幅 本节仅通过具体例子对第 种方法做简要介绍 若符号位进位状态用CF来表示 当符号位向前有进位时 CF 1 否则 CF 0 数值部分最高位的进位状态用DF来表示 当该位向前有进位时 DF 1 否则 DF 0 单符号位法就是通过该两位进位状态的异或结果来判断是否溢出的 2 2 7 若OF 1 说明结果溢出 若OF 0 则结果未溢出 也就是说 当符号位和数值部分最高位同时有进位或同时没有进位时 结果没有溢出 否则 结果溢出 例2 13设有两个操作数x 01000100B y 01001000B 将这两个操作数送运算器做加法运算 试问 若为无符号数 计算结果是否正确 若为带符号补码数 计算结果是否溢出 解 若为无符号数 由于CF 0 说明结果未超出8位无符号数所能表达的数值范围 0 255 计算结果10001100B为无符号数 其真值为140 计算结果正确 若为带符号数补码 由于OF 1 结果溢出 这里也可通过参加运算的两个数的符号及运算结果的符号进行判断 由于两操作数均为正数 而结果却为负数 因而结果溢出 68和 72两数补码之和应为 140的补码 而8位带符号数补码所能表达的数值范围为 128 127 结果超出该范围 因此结果是错误的 例2 14设有两个操作数x 11101110B y 11001000B 将这两个操作数送运算器做加法运算 试问 若为无符号数 计算结果是否正确 若为带符号补码数 计算结果是否溢出 若为无符号数 由于CF 1 说明结果超出8位无符号数所能表达的数值范围 0 255 两操作数11101110B和11001000B对应的无符号数分别为238和200 两数之和应为438 255 因此 计算结果是错误的 若为带符号数补码 由于OF 0 结果未溢出 两操作数11101110B和11001000B分别为 18和 56的补码 其结果应为 74的补码形式 而计算结果10110110B正是 74的补码 因此结果正确 2 3信息的编码 2 3 1二进制编码的十进制数 BCD编码 虽然二进制数对计算机来说是最佳的数制 但是人们却不习惯使用它 为了解决这一矛盾 人们提出了一个比较适合于十进制系统的二进制编码的特殊形式 即将1位十进制的0 9这10个数字分别用4位二进制码的组合来表示 在此基础上可按位对任意十进制数进行编码 这就是二进制编码的十进制数 简称BCD码 Binary CodedDecimal 4位二进制数码有16种组合 0000 1111 原则上可任选其中的10个来分别代表十进制中0 9这10个数字 但为了便于记忆 最常用的是8421BCD码 这种编码从0000 1111这16种组合中选择前10个即0000 1001来分别代表十进制数码0 9 8 4 2 1分别是这种编码从高位到低位每位的权值 BCD码有两种形式 即压缩型BCD码和非压缩型BCD码 1 压缩型BCD码压缩型BCD码用一个字节表示两位十进制数 例如 10000110B表示十进制数86 2 非压缩型BCD码非压缩型BCD码用一个字节表示一位十进制数 高4位总是0000 低4位用0000 1001中的一种组合来表示0 9中的某一个十进制数 表2 28421BCD码部分编码表 需要说明的是 虽然BCD码可以简化人机联系 但它比纯二进制编码效率低 对同一个给定的十进制数 用BCD码表示时需要的位数比用纯二进制码多 而且用BCD码进行运算所花的时间也要更多 计算过程更复杂 因为BCD码是将每个十进制数用一组4位二进制数来表示 若将这种BCD码送计算机进行运算 由于计算机总是将数当作二进制数来运算 所以结果可能出错 因此需要对计算结果进行必要的修正 才能使结果为正确的BCD码形式 详见本小节例2 17 例2 15十进制数与BCD数相互转换 将十进制数69 81转换为压缩型BCD数 69 81 01101001 10000001 BCD 将BCD数10001001 01101001转换为十进制数 10001001 01101001 BCD 89 69 例2 16设有变量x等于10010110B 当该变量分别为无符号数 原码 补码 压缩型BCD码时 试分别计算变量x所代表的数值大小 解 x为无符号数 x 10010110B 1 27 0 26 0 25 1 24 0 23 1 22 1 21 0 20 150 x为原码 x 原 10010110Bx 0 26 0 25 1 24 0 23 1 22 1 21 0 20 22x为补码 x 补 10010110B x 原 x 补 补 11101010Bx 1 26 1 25 0 24 1 23 0 22 1 21 0 20 106x为BCD码 x BCD 10010110Bx 96 例2 17 BCD码运算时的修正问题 用BCD码求38 49 解 计算结果10000001是81的BCD数 而正确结果应为87的BCD数10000111 因此结果是错误的 其原因是 十进制数相加应该是 逢十进一 而计算机按二进制数运算 每4位为一组 低4位向高4位进位是 逢十六进一 所以当相加结果超过9时将比正确结果少6 因此结果出错 解决办法是对二进制加法运算结果采用 加6修正 从而将二进制加法运算的结果修正为BCD码加法运算结果 BCD数相加时 对二进制加法运算结果修正的规则如下 如果两个对应位BCD数相加的结果向高位无进位 且结果小于或等于9 则该位不需要修正 若得到的结果大于9而小于16 则该位需要加6修正 如果两个对应位BCD数相加的结果向高位有进位 结果大于或等于16 则该位需要进行加6修正 因此 两个BCD数进行运算时 首先按二进制数进行运算 然后必须用相应的调整指令进行调整 从而得到正确的BCD码结果 有关BCD运算结果的调整指令将在第4章 80 x86指令系统 中介绍 2 3 2ASCII字符编码所谓字符 是指数字 字母以及其他一些符号的总称 目前 国际上广泛使用的字符编码系统是ASCII码 AmericanStandardCodeforInformationInterchange 美国标准信息交换码 ASCII码采用7位二进制代码来对字符进行编码 7位ASCII码能表示27 128种不同的字符 其中包括数码 0 9 英文大 小写字母 标点符号及控制字符等 见表2 3 表2 3美国标准信息交换码ASCII 7位代码 2 4数的定点与浮点表示法 2 4 1定点表示所谓定点表示法 是指小数点在数中的位置是固定的 原理上讲 小数点的位置固定在哪一位都是可以的 但通常将数据表示成纯小数或纯整数形式 如图2 1所示 图2 1定点数的两种表示方法 a 纯小数形式 b 纯整数形式 设用一个n 1位字来表示一个数x 其中一位表示符号位 0表示正 1表示负 其他n位为数值位 对于纯小数表示法 所能表示的数x 原码表示 下同 的范围为 1 2 n x 1 2 n 2 4 1 它能表示的数的最大绝对值为1 2 n 最小绝对值为0 对于纯整数表示法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水库管理处管理制度
- 村庄公司化管理制度
- 村广播器材管理制度
- 摄影部日常管理制度
- 咖啡馆日常管理制度
- 外包供应商管理制度
- 液压坝安全管理制度
- 实验室各种管理制度
- 护理规范标准课件
- 护理行业标准课件
- 充电桩维保合同书样本
- 16J934-3中小学校建筑设计常用构造做法
- 我的家乡潍坊昌邑宣传介绍课件
- 国开学习网《中国古代文化常识》形考任务1-3答案
- 食材配送服务方投标方案(技术标)
- 内河船舶船员健康检查记录
- 大学生应急救护智慧树知到课后章节答案2023年下西安欧亚学院
- 《高中生物必修3课件:细胞分裂和遗传》
- 言语障碍送教上门教案20次
- QGW 203008-2018 风力发电机组通用技术规范 紧固件-C
- 个人理财理论与实务李杰辉课后参考答案
评论
0/150
提交评论