二进制补码中的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 ...