二进制加减法问题
问题描述:
二进制加减法问题
二进制真值为-000,则原码为1000,反码为1111,补码为0000,我想问的是书上说补码等于原码除去符号位 外的各位取反后再加1,那补码应该就是1000啊?符号位也要参与运算?我不太清楚,请明白的告诉下,误人子弟的旧不要来了
最后一个问题,书上一个表:真值=-1000,原码为为一个横杠-,反码也为一个横杠-,但是补码为1000,横杠是不能表示的意思吗?但是为什么补码又有值?为什么说补码负数表示范围较正数表示宽,能多表示一个最负的数(绝对值最大的负数),其值等于-2 的n次方(纯整数)或-1(纯小数)
答
X=-000
那么:原码:1000
反码:符号位不变,其余按位取反.1111
补码:反码+1 1111+1=10000
由于存在进位,超出了有效范围,数据发生溢出,最高位1会被舍掉,于是补码即为0000.还有x=+0.1011,y=+0.1100,x+y等于多少?谢谢了先把小数点向右移4位,即扩大16倍,化成整数,即:1011+1100=10111再将小数点向左移4位,就可以得到答案:1.0111但是0.1011和0.1100都是正数阿,两数相加怎么变成负数了1开头是负数阿0.1011和0.1100是小数还是带符号的二进制数?带符号二进制数为什么要加小数点书上叫定点小数,比如1.011是-0.11,小数点前面的1就是符号位答案1.0111没问题。是负数,因为运算结果超出了可表达范围,数据发生溢出。就和1000的补码为0000同一个道理