我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合平特一肖 > 反码 >

原码 反码 补码都是8位的吗?999的原码反码补码是多少?

归档日期:06-11       文本归类:反码      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  原码、反码、补码是相互联系的,对于同一个数据元素(记住不是数),三者应具有相同的位数,而实际的位数要看具体的数据类型。

  2)基于问题一,对于999这个数,必须要给定其数据类型,才能确定其原码、反码、补码。字节型数据只有8位,只能表示0~255,肯定不行,字型数据占16位,可以表示0~65535,那么可以选择一个字型数据,这样它的三码就是下面的形式:

  c、字型数999补码(二进制):65536-999=64537(它的补码就是64537)翻译成二进制就是1

  3)这里补充说明一下补码的含义:你可以类比小学数学中的补角,45度的补角是135度,为什么不是125或者115?因为课本中对补角已经做了定义:两角之和等于180度的角互为补角。这个180度就是一个标准,它相当于一个数据类型的模(一个数据类型所能表示的数据范围):

  比如8位数可以表示0~255共256个数(记住不是255,因为还有0也要算进去),那么8位数的模就是256。同理,16位数可以表示0~65535共65536个数,那么它的模就是65536。

  比如你要求8位数1的补码,那么要使1变成256,你必须给它补上255才行,所以8位数1的补码就是255.。同理,要求16位数1的补码,那么要使1变成65536,你必须给它补上65535才行,所以16位数1的补码就是65535。

  再比如你要求8位数2的补码,那么要使1变成256,你必须给它补254才行,所以8位数2的补码就是254。同理,要求16位数2的补码,那么要使1变成65536,你必须给它补上65535才行,所以16位数1的补码就是65535。

  按照上面的方法,对于8位数,你可以很容易求得2、3、4直到127的补码,这里要注意一点8位数128的补码就是128,它的二进制就是10000000,那么根据计算机的约定,最高位为1的数表示负数,因此这也是为什么8位有符号数字可表示-128~+127的原因。

  1、原码、反码、补码主要看他的字型数据,如果字节型数据,占8位,那么它的原码、反码、补码都是8位。如果字型数据,占16位,那么它的原码、反码、补码都是16位。

  2、999必须要给定其数据类型,才能确定其原码、反码、补码。字节型数据只有8位,原码是1。反码是0。补码是1。

  8位数可以表示0~255共256个数(记住不是255,因为还有0也要算进去),那么8位数的模就是256。同理,16位数可以表示0~65535共65536个数,那么它的模就是65536。

  1)比如你要求8位数1的补码,那么要使1变成256,你必须给它补上255才行,所以8位数1的补码就是255.。同理,要求16位数1的补码,那么要使1变成65536,你必须给它补上65535才行,所以16位数1的补码就是65535。

  2)比如你要求8位数2的补码,那么要使1变成256,你必须给它补254才行,所以8位数2的补码就是254。同理,要求16位数2的补码,那么要使1变成65536,你必须给它补上65535才行,所以16位数1的补码就是65535。

本文链接:http://prozacraft.com/fanma/346.html