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

作者&投稿:蛮弘 (若有异议请与网页底部的电邮联系)
原码、反码、补码都是8位的吗?999的原码反码补码是多少?~

1、原码、反码、补码主要看他的字型数据,如果字节型数据,占8位,那么它的原码、反码、补码都是8位。如果字型数据,占16位,那么它的原码、反码、补码都是16位。
2、999必须要给定其数据类型,才能确定其原码、反码、补码。字节型数据只有8位,原码是0000 0011 1110 0111。反码是1111 1100 0001 1000。补码是1111 1100 0001 1001。
3、举例说明:
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 。

原码 100111100111 反码 111000011000 补码 111000011001

1)先回答第一个问题:

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

       比如字节型数据,占8位,那么它的原码、反码、补码都是8位。

       字型数据,占16位,那么它的原码、反码、补码都是16位。

        脱离数据类型谈原码、反码、补码是没有意义的。

        

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

        a、字型数999原码(二进制):0000 0011 1110 0111


        b、字型数999反码(二进制):1111 1100 0001 1000


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

        以上三者都可以通过windows自带的calc计算器程序进行验证。


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,它的二进制就是1000 0000,那么根据计算机的约定,最高位为1的数表示负数,因此这也是为什么8位有符号数字可表示-128 ~ +127的原因。



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

2、999必须要给定其数据类型,才能确定其原码、反码、补码。字节型数据只有8位,原码是0000 0011 1110 0111。反码是1111 1100 0001 1000。补码是1111 1100 0001 1001。

3、举例说明:

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 。



原码 反码 补码,都是8位的吗?

不是。

计算机,有八位机、16 位机、32 位。。。

学习理论时,用 8 位的,即可。

8 位数的补码,表达十进制数,范围是:-128~+127。

999 的原码反码补码是多少?

999,用八位,就表达不了了。

可以用 16 位数。

是多少? 自己去算吧。



都是 8 位?
不一定。可以由使用者自行确定。
999 的原码反码补码是多少?
对于正数,各码都相同。
所以,原码=反码=补码=999=1111100111B。


双鸭山市15317852520: 原码、反码、补码都是8位的吗?999的原码反码补码是多少? -
謇卸特丽: 1、原码、反码、补码主要看他的字型数据,如果字节型数据,占8位,那么它的原码、反码、补码都是8位.如果字型数据,占16位,那么它的原码、反码、补码都是16位. 2、999必须要给定其数据类型,才能确定其原码、反码、补码.字节...

双鸭山市15317852520: 原码补码反码分别写出 - 0,6875,11的原码,补码,反码是用8位表示 -
謇卸特丽:[答案] 用16bit表示,三个码分别是:原码、反码、补码 -0:1000 0000 0000 0000、1111 1111 1111 1111、0000 0000 0000 0000 -6875:1001 1010 1101 1011、1110 0101 0010 0100、1110 0101 0010 0101 -11:1000 0000 0000 1011、1111 1111 1111 ...

双鸭山市15317852520: 只有有符号的整数才有原码、反码、补码吗? -
謇卸特丽: 你的说法没有错,但不严密.应当这样说,所有的整数都有原码、反码、补码,只是正数的原码、反码、补码与原码相同.而无符号整数是按正数对待的,所以它的原码、反码、补码也与原码相同.这里说的反码与通常的按位取反不完全是一回事,这里的反码只对负数而言且高位的1是不变的,而通常说的按位取反则是包括最高位的.不知道当初的“理论家”为什么要搞出个反码、补码来,搞得初学者非常纠结;其实这里说的反码是为求补码服务的,而补码就是负整数在计算机中的表示方法,为什么当初不搞成正整数与负整数的二进制表示不一样:3是011,而-3是101不就完了嘛?

双鸭山市15317852520: 24和30的原码、反码、补码 -
謇卸特丽:[答案] 请我给你的详原码、补码和反码 (1)原码表示法 原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示.设有一数为x,则原码表示可记作〔x〕原. 例如,X1= +1010110 X2= 一1001010 其原码...

双鸭山市15317852520: 关于二进制原码反码补码的问题 -
謇卸特丽: 一个有符号定点数的最高位为符号位,0是正,1是副. 以下都以8位整数为例, 原码就是这个数本身的二进制形式. 例如0000001 就是+11000001 就是-1 正数的反码和补码都是和原码相同. 负数的反码是将其原码除符号位之外的各位求反 [-3]...

双鸭山市15317852520: 原码反码补码 -
謇卸特丽: (1)原码表示法原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示.设有一数为x,则原码表示可记作[x]原.例如,X1= +1010110X2= 一1001010其原码记作:[X1]原=[+1010110]...

双鸭山市15317852520: 原码,反码和补码表示的规则分别是什么 -
謇卸特丽: 数在计算机中是以二进制形式表示的. 数分为有符号数和无符号数. 原码、反码、补码都是有符号定点数的表示方法. 一个有符号定点数的最高位为符号位,0是正,1是副. 以下都以8位整数为例, 原码就是这个数本身的二进制形式. 例如 ...

双鸭山市15317852520: 原码反码补码为什么是8位的,如 - 25的原码是1 0011001,而不是1 11001,中间怎么多出俩0 -
謇卸特丽:[答案] 因为每个比特为四个一字节,你说是的八位的反码补码,最前面的为符号位代表正负数,后七位为二进制的数,如:25就改写为00011001.八位码取值范围为-127~127,其他类型还有16位32位的

双鸭山市15317852520: 以八位整数, - 0.1011的原码,反码,补码 -
謇卸特丽: 看了两位网友的回答,发现概念都很模糊,故此再次强调:正数的补码,原码,反码都是相同的.----------以八位二进制码为例,有:+8的补码,原码,反码,都是00001000.负数的补码,原码,反码都是用1放在符号位,后面7位有变化:-8的原码:10001000;-8的反码:11110111;-8的补码:11111000.

双鸭山市15317852520: +99 - 88的原码 反码 补码是 ? -
謇卸特丽: +99的原码就是他的二进制数 正数的只有原码无反码 其实都是它本身 -88负数的原码是 1101 1000 反码 1010 0111 补码=反码+1= 1010 1000

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网