《计算机接口技术及应用》课件-1.7有符号二进制数的原码和反码_第1页
《计算机接口技术及应用》课件-1.7有符号二进制数的原码和反码_第2页
《计算机接口技术及应用》课件-1.7有符号二进制数的原码和反码_第3页
《计算机接口技术及应用》课件-1.7有符号二进制数的原码和反码_第4页
《计算机接口技术及应用》课件-1.7有符号二进制数的原码和反码_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及应用第一章认识二进制第七讲有符号二进制数的源码和反码下面我们来学习有符号二进制数的源码和反码,首先来看一下源码,有符号二进制数的源码和反码源码其实跟我们前面讲的机器数是一种表示方式,有符号二进制数的源码和反码它是用最高位来表示有符号数的符号位仍然是0表示正或零,1表示负,其余位为它的真值部分最高位符号数的符号位0表示正或零1表示负其余位为真值部分因为它的值和原码之间的对应关系非常简单,特别容易理解,我们在看一个数的源码的时候,只要看一下它的符号位,然后再将它的真值部分转化成十进制的数,我们就知道它对应的数是多少了优点:真值和原码之间的对应关系简单,容易理解比如我们要求+100它的源码,它是正数,那它的符号位就是零,我们再将100这个数转化成二进制数,结果就是1100100。源码:+100符号位:0数值位:1100100这样的话,我们把符号位加上就构成一个八比特的数,结果就是01100100,这就是+100它的源码源码:+100符号位:0数值位:1100100数值位:01100100但是源码有非常大的缺点,它的第一个缺点就是我们在使用源码进行加减运算的时候会比较困难,为什么说比较困难呢?源码:+100符号位:0数值位:1100100数值位:01100100缺点:用原码进行加减运算比较困难举个例子,我们要进行两个源码之间相减的运算,那我们先要判断这两个数谁大谁小,数值位:1100100数值位:01100100源码:+100大小相减,才能知道最终的结果是正还是负,然后我们才能进行一个真值部分的运算,再将运算的真值和符号位放在一起得到最后的结果,数值位:1100100数值位:01100100源码:+100大小正负真值部分运算:将真值和符号位放一起得到结果相减所以你看,在使用源码进行加减运算的时候,尤其是减法运算的时候,我们需要通过比较大小先判断符号,再来确定结果,这样的处理会导致运算过程繁琐,比较耗时。另外一个比较大的缺点就是源码它对零的表示不唯一数值位:1100100数值位:01100100源码:+100大小正负判断符号运算繁琐缺点:0的表示不唯一相减符号位是零,其它位为0符号位是一,其它位为0什么叫对零的表示不唯一呢?比如说我们用八个比特来表示零的源码,那我们可以表示+0,+0就是符号位是零,其它位也是0,我也可以表示-0,-0就是符号位为一,其它位为零,这两个都可以表示零这个值,所以用原码来表示零的话,它是不唯一的,+0=00000000-0=10000000缺点:0的表示不唯一对0的表示不唯一会造成很多的麻烦,为什么呢?因为0它是所有运算的基准,不光是运算,我们在比较两个数大小的时候,其实也是在跟0比较,那么如果零的表示不唯一的话,就会对运算的结果造成很多的困扰,所以这是源码它的一个比较大缺点0是所有计算的基准,0不唯一会造成很多麻烦缺点:0的表示不唯一运算繁琐我们再来看一下反码,反码是在源码的基础上进行了一个改变,对于一个数x来说,如果x是大于等于零的,那么它的反码就等于它的源码,数x大于等于零,反码等于源码如果这个数它是负数,那么它的反马就是在源码的基础上保持符号位不变,并且将数字的部分按位取反,按位取反的意思就是零变一,一变零数x小于零,反码对应原码符号位不变,数值按位求反00111100按位取反11000011例题举例说明,比如说x是负52,它的机器数就是负的011000,那么它的源码呢就是用1表示它的符号位,然后后面是它的真值,X=-52=-0110100[X]原=10110100[X]反=11001011符号位真值例题下面我们用反码来表示它,首先它是一个负数,因此我们在源码的基础上,保持它的符号位1不变,然后将后边的各位按位取反,即0变一,1变零,这样得到的就是-52的反码X=-52=-0110100[X]原=10110100[X]反=11001011符号位不变1001011按位取反再比如说x是+52,它的机器数就是正的011000,那么它的源码呢就是用0表示它的符号位,然后后面是它的真值,例题X=+52=+0110100[X]原=00110100[X]反=01001011机器数:+011000符号位真值下面我们用反码来表示它,首先它是一个正数,因此它的反码就跟原码相同即可,同样的,反码在表示数的时候也有一个比较大的问题,就是它对零的表示也不唯一,例题反码跟原码相同,对0的表示不唯一X=+52=+0110100[X]原=00110100[X]反=01001011比如我们用反码来表示零,如果我们表示正0的话,它就是保持跟源码一致是全0,如果我们表示负0的话,那么就是保持一不变,然后把所有的零反转成一,那就是所有位都是一例题0的反码[+0]反=00000000[-0]反=11111111表示正0:跟源码一致是全0表示负0:所有位0反转成一所以,对于反马来说,正0和负零这两个值是完全不同的,也就是他对零的表示是不唯一的,例题0的反码[+0]反=00000000[-0]反=11111111正0和负零的值不同,对0的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论