二进制补码中的1和0表示什么?

作者&投稿:蔽步 (若有异议请与网页底部的电邮联系)

第一位符号位1为负,0为正。 正数的补码和2进制原码是一样的。

负数的补码: 

1、先取绝对值|x| ;

2、对|X|+1 ;

3、对|X|+1 取反,就得到它的补码了 。

计算机中存放整型数据都是按补码的形式存放的。

扩展资料:

有符号数的表示方法是由硬件决定,而不是由C决定的。有三种表示方法:

1、二进制原码

0000 0001  表示 1

1000 0001  表示 -1

这个方法有个缺点是有两个零: +0 和 -0。这会引起混淆,而且用两个位组合来表示一个值也有些浪费。

2、二进制补码(最普遍的系统)

区别在于 singned 和 unsigned:

1)如果是无符号字节, 1000 0000 该组合为 128

2)如果是有符号字节, 1000 0000 该组合为 -128

第一种表示数的范围是 0 ~ 255;

第二种表示数的范围是 -128 ~ +127,对于一个二进制补码数取负数,最简单的方法就是取反、加 1。

3、二进制反码

通过反转位组合中的每一位以形成一个数的负数,例如:

0000 0001  表示 1

1111 1110  表示 -1

这种方式也有一个 -0:1111 1111。其范围是 -127 ~ +127。



~

0补码是什么意思?
答:1、[+0]原码=0000 0000, [-0]原码=1000 0000;2、[+0]反码=0000 0000, [-0]反码=1111 1111;3、[+0]补码=0000 0000, [-0]补码=0000 0000。在这里你会发现,+0和-0的补码是一样的,即0的补码只有一种表示。在计算机内,符号数有3种表示法:原码、反码和补码。

148的补码是10010100可是第一位数是1不是代表是负数吗
答:正数的补码与其原码相同,而负数的补码是将其原码取反(除符号位外所有位都取反)后加1。因此,-148的补码是1001 0100。第一位数字1代表负号,接下来的二进制数字0101 0000表示-148的绝对值148。因为在补码表示法中,负数是通过其绝对值的二进制补码表示的,所以-148的补码是1001 0100。

原码,补码,反码都是什么意思,怎么算啊
答:为了凑够8位,在二进制10前面加6个0,变成00000010 2的原码:00000010 2的反码:00000010 2的补码:00000010 也就是,正数的原码,反码,补码都相同 下面是负数的原码、反码、和补码:3的原码:00000011 -3的原码:10000011 也就是最左边的那个数表示正负,0代表正,1代表负,它也叫符号位 -...

-1的补码是多少?
答:计算机中-1的补码是1,1111111 1、通常把一个数的最高为定义为符号位,用“0”表示正,用“1”表示负。因为【-1】为负,所以【-1】的原码=10000001 2、反码:对于负数,数符位为1,数符位不变,将数值位诸位取反为反码。【-1】的反码=11111110 3、补码:对于负数,数符位为1,数符位不变...

原码补码的问题?
答:计算机中,只是使用补码,存放正负数,包括-128。计算机中,并没有原码和反码。而且,八位的原码反码,都表示不了-128。那么-128 的八位补码,究竟怎么得出来的呢?这就必须从补码的定义来求了。在计算机中,0,就是:0000 0000。那么,-1 就是 0-1,即:0000 0000-1。按照二进制的减法规则...

求助一个c语言问题?
答:二进制11111111代表-127,是按原码规则来算。若按补码规则,二进制11111111算出来是-1。文中说的是10000000代表-128。详细描述如下:[+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原 = [11111110]反 = [11111111]补 计算机将第1位作为符号位,0表示正数,1表示负数...

什么是二进制数的原码、反码、补码?
答:在8位二进制中,如果一个运算的结果最终超过 [-128,127] 无论是大于127还是小于-128就被认为是溢出,OF被置为1,如果结果在 [-128,127] 就认为没溢出OF被置为0。SF(Sign Flag) :符号标志。用来反映运算结果的符号位,它与运算结果的最高位相同。在微机系统中,有符号数采用补码表示法,所以...

二进制补码怎么计算的
答:3、纯小数的补码:纯小数的补码遵循的规则是:在得到小数的源码后,小数点前1位表示符号,从最低(右)位起,找到第一个“1”照写,之后“见1写0,见0写1”。以-0.64为例,其原码为1.1010_0011_1101_0111b 则补码为:1.0101_1100_0010_1001b 当然在硬件语言如verilog中二进制表示时不可能带有...

...来表示整数的编码时,十进制整数-33对应的原码和补码分别是什么...
答:8位二进制中,最高位(首位)为符号位,0表示正数,1表示负数。其余7位表示数字的真值 先把33转换成二进制:33D=0100001B 因为是负数,在最前面加上一个1,得到原码:1010 0001 反码:符号位不变,其余按位取反:1101 1110 补码:反码+1=1101 1111 ...