版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理及应用第一章认识二进制第八讲有符号二进制数的补码下面我们来学习有符号二进制数的补码,补码的运算规则是对于一个机器数x如果x是大于0的,那么它的补码就等于它的反码等于它的源码,有符号二进制数的补码若X>0,则[X]补=[X]反=[X]原如果x是小于0的,那么它的补码等于它的反码加一,有符号二进制数的补码若X>0,则[X]补=[X]反=[X]原若X<0,则[X]补=[X]反+1举例说明x等于负的52,那么它的机器码是负的0110100,它的源码就是把它的符号位用1来表示,其他的位保持真值不变,它的反码就是保持源码的符号位不变,其他的位按位取反و补码是在反码的基础上再加一,所以它的补码就是11001100例题X=–52=–0110100[X]原=10110100[X]反=11001011[X]补=[X]反+1=11001100符号位不变真值不变符号位不变按位取反补码在反码基础上再加一补码的第一个优点是它可以将减法化成加法来计算,例题X=–52=–0110100[X]原=10110100[X]反=11001011[X]补=[X]反+1=11001100优点:减法化成加法算还记得我们在前面讲计算机中的运算电路的时候,我们说计算机中没有减法电路,而是直接用加法电路来代替,正因为补码的这一特性,我们才能用加法电路实现减法运算通过补码,可将减法运算转换为加法运算例题通过补码,可将减法运算转换为加法运算下面来看一下补码是如何将减法运算转换成加法运算的,首先,我们有以下的运算规则,x加y的补码等于x的补码加上y的补码,即:[X+Y]补=[X]补+[Y]补例题x减y的补码等于x加上负y的补码,也就是说我们只要计算出y的相反数的补码,就可以跟x的补马直接相加,得到的就是x-y的结果,在运算的时候一定要注意要保持符号位对齐,[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补通过补码,可将减法运算转换为加法运算即:[X+Y]补=[X]补+[Y]补算出y的相反数补码,可跟x的补马相加运算要保持符号位对齐例题X=-0110100,Y=+1110100,求X+Y=?举例说明,我们来算负的0110100和正的1110100的和,这里x是负数y是正数,负数:X正数:Y例题X=-0110100,Y=+1110100,求X+Y=?举例说明,我们来算负的0110100和正的1110100的和,这里x是负数y是正数,那我们首先要将x的补码计算出来,因为只有补码和补码才能够直接进行运算,负数:X只有补码和补码才能进行计算例题x的源码就是将它的符号位变成1,其他位保持不变,X=-0110100,Y=+1110100,求X+Y=?[X]原=10110100符号位变1真值不变例题x的补码就是在x的反码的基础上加1,结果就是11001100y的补码等于它的源码,那就等于01110100X=-0110100,Y=+1110100,求X+Y=?[X]原=10110100[X]补=[X]反+1=11001100[Y]补=[Y]原
=01110100例题x加y的补码等于x的补码加上y的补码,x的补码是11001100,y的补码是01110100X=-0110100,Y=+1110100,求X+Y=?[X]原=10110100[X]补=[X]反+1=11001100[Y]补=[Y]原=01110100[X+Y]补=[X]补+[Y]补[Y]补:
01110100[X]补:11001100例题他们的和是01000000这就是x+y的结果,我们可以把它转化成10进制数来验证一下这个结果是否正确X=-0110100,Y=+1110100,求X+Y=?[X]原=10110100[X]补=[X]反+1=11001100[X+Y]补=[X]补+[Y]补[X]补:11001100[Y]补:
01110100和:01000000[Y]补=[Y]原=01110100例题x补码:11001100y补码:
01110100和:01000000x的十进制数等于负的52,y的十进制数等于正的116,那么x加y的结果应该等于正的64,X=-0110100,Y=+1110100,求X+Y=?[X]原=10110100[X]补=[X]反+1=11001100[Y]补=[Y]原
=01110100[X+Y]补=[X]补+[Y]补x十进制数:52y十进制数:116和:64我们刚刚计算出的1后边六个零的结果刚好等于64,所以我们可以看到补码是直接可以进行运算的0的补码[+0]补=[+0]原=00000000[-0]补=[-0]反+1=11111111+1=100000000例题再来看补马的第二个优点,他对零的表示是唯一的,我们来看一下,+0,由于它是正数,他的补码就跟到源码是一样的,就是八个零,0的补码[+0]补=[+0]原=00000000[-0]补=[-0]反+1=11111111+1=100000000例题正数0的补码是唯一的再来看一下-0,由于它是负数,他的补码等于反码加一,-0的反码大家还记得吗?就是八个一0的补码[+0]补=[+0]原=00000000[-0]补=[-0]反+1=11111111+1=100000000例题负数补码对0表示是唯一8个1再加一的话就等于全0,然后还有一个进位,这个进位位表示溢出,我们在8个比特中看不到它,它已经被舍掉了,所以+0和-0的补码是相同的,也就是说,补码对0的表示是唯一0的补码[+0]补=[+0]原=00000000[-0]补=[-0]反+1=11111111+1=100000000例题进位舍掉+0和-0的补码相同正因为补码对0的表示是唯一的,因此补码解决了源码和反码存在的最大的一个问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东潍坊市上半年政府专职消防员招录109人备考题库含答案详解
- 2026甘肃武威古浪县海子滩镇中心卫生院招聘2人备考题库带答案详解(能力提升)
- 2026四川省盐业集团有限责任公司选聘所属子公司总经理1人备考题库及答案详解(考点梳理)
- 2026浙江丽水市市直医疗卫生健康单位招聘卫技人员36人备考题库及答案详解【网校专用】
- 2026绵阳科达人才安居有限责任公司员工招聘1人备考题库带答案详解(模拟题)
- 【高中语文】《林教头风雪山神庙》课件+统编版高一语文必修下册
- 某塑料厂产品检测流程准则
- 2026年部编版语文六年级下册第四单元复习课教案
- 2026国航股份浙江分公司地面综合服务岗位就业见习生、实习生备考题库带答案详解(b卷)
- 2026四川省医医学验光配镜眼镜有限公司招聘4人备考题库附答案详解(研优卷)
- 《部队卫生常识》课件
- 充电桩安全巡查记录表
- 国家职业技术技能标准 4-10-01-05 养老护理员 人社厅发201992号
- 《跨境电商财税》全套教学课件
- 化工单元操作理论知识考试题库(含答案)
- (高清版)JTGT 5440-2018 公路隧道加固技术规范
- GB/T 43909-2024叉车属具安全要求
- 小区保洁工作计划及安排方案
- 亿联网络-项目售前流程
- 注塑产品作业指导书
- 北京长峰医院4.18火灾事故案例分析
评论
0/150
提交评论