为什么8的源码有八位数_8位数一般是什么

hacker|
90

文章目录:

原码反码补码为什么是8位的,如-25的原码是1 0011001,而不是1 11001,中间怎么多出俩0

计算机的位数,是固定的。

早期,常用的是:8 位机、16 位机;

现在,是:32 位机、64 位机。

给你一个数,位数不够,你就填上 0,没毛病。

 

别忘了采纳。

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

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的原因。

原码、反码、补码都是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 。

8位二进制原码 补码 反码的表示范围各是多少 怎么算的?

8位二进制原码的表示范围:-127~+127。

8位二进制反码的表示范围:-127~+127。

8位二进制补码的表示范围:-128~+127。

反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。在计算机内,定点数有3种表示法:原码、反码和补码。

原码是计算机机器数中最简单的一种形式,数值位就是真值的绝对值,符号位位“0”时表示正数,符号位为“1”时表示负数,原码又称带符号的绝对值。为了方便整数和小数区别,整数的符号位与数值位之间用“,”隔开,小数的符号位与数值位之间用“.”隔开。

2条大神的评论

  • avatar
    访客 2022-07-13 上午 03:18:01

    00,那么根据计算机的约定,最高位为1的数表示负数,因此这也是为什么8位有符号数字可表示-128 ~ +127的原因。原码、反码、补码都是8位的吗?999的原码反码补码是多少?1、原码、反码、补码主要看他的字型数据,如果字节型数据,占8位,那么它的原码、反码、补

  • avatar
    访客 2022-07-12 下午 11:41:26

    少?4、8位二进制原码 补码 反码的表示范围各是多少 怎么算的?原码反码补码为什么是8位的,如-25的原码是1 0011001,而不是1 11001,中间怎么多出俩0计算机的位数,是固定的。早期,常用的是:8 位机、16 位机;现在,是

发表评论