详述补码 - 技术分享 - 志盟培训
首页技术分享 详述补码

详述补码

更新时间:2017-06-01      作者:齐老师       阅读:882

对于补码问题有好多学生都是似懂非懂,一提到补码,大家都认为是正整数的补码就是对2求余,直至商为0,余数依次倒叙排序即可,负整数的补码是符号位不变,其他按位取反再加一。如果按照这个规则的话,那么在8位的存储空间中1000  0000又表示十进制的几呢?那么接下来我们就来详细的叙述一下补码的计算问题。

在讲补码之前,我们必须弄懂补码是用来干嘛的。其实,补码就是计算机用来存储整数的一个规则。但整数又分为正整数和负整数两种,所以讨论补码,就是讨论正整数和负整数在计算机中是怎么存储的。那我们主要分两部分来展开说明的。第一部分,已知十进制求二进制,第二部分,已知二进制求对应的十进制数。


一、已知十进制求二进制

1、求正整数的二进制

除2求余,直至商为零,余数倒叙排序即可

例:求 100的补码

详述补码

2、求负整数的二进制

先求该负数对应的正数的二进制码,然后将所有位按位取反,末尾加1,不够位数时,左边补1

例:-3的补码

先求3的二进制补码:011

所有位按位取反,再加1:101

不够位补1: FFFFFFFD(由于二进制太长,所以用十六进制来表示)

注意:一般整数在计算机中按照4字节来存储的。4字节就是32位,而我们只占了3位,前29位全部补1

所以,-3在计算机中的补码为:FFFFFFFD

3、零的二进制

全是零


二、已知二进制求十进制

(1)如果首位是0,则表明是正整数,按照普通的方法来求

例:求 0110  对应的十进制

分析:最高位是0,所以是正数,直接按权展开即可

(0110)2=0*20+1*21+1*22=6

所以,0110对应的十进制是6

(2)如果首位是1,则表明是负整数,求对应十进制的规则是:

将所有位取反(包括符号位),末尾加1,所得的结果就是该负数的绝对值

例:求 101111对应的十进制

分析:最高位是1,所以是负数,所有位取反结果为:010000,末尾加1: 010001 ,010001对应的十进制为:17,这个结果就是该负数的绝对值,所以,101111对应的十进制为:-17。

(3)如果全是0,则对应的十进制就是零

以上就是对补码的详细叙述,希望能给不懂的同学带来帮助。

在线报名

志盟科技上海招聘

在线报名 联系我们

志盟科技深圳招聘

在线报名 联系我们

志盟科技北京招聘

在线报名 联系我们
联系我们

咨询热线:

咨询 QQ:517578         

就业学员

  • 就业学员

    姓名:郭凡凡 
    院校:阜阳师范学院
    就职:佳戴
    职位:软件工程师
    月薪:10000

  • 就业学员

    姓名:陈祥龙 
    院校:中北大学
    就职:美囤妈妈
    职位:软件工程师
    月薪:9000

  • 就业学员

    姓名:陈建伟
    院校:南昌航空大学
    就职:SONY
    职位:嵌入式工程师
    月薪:8000

×
×
  • *真实姓名
  • *联系手机
  • *上课地址
  •    QQ号码

温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一报名服务。

×
  • *真实姓名
  • *联系手机
  • *联系邮箱
  • * QQ号码

温馨提示:请保持手机畅通,咨询老师将为您提供专属的一对一的服务。

本站由 宽敬科技——创新企业的建站运营顾问 提供支持