举个例子吧!
求-10的补码的绝对值,如下:
1)取-10的绝对值10;
2)10的绝对值的二进制形式为1010;
3)对1010取反得1111 1111 1111 0101(这里假定一个整数占16位)
4)再加1得1111 1111 1111 0110;
现在探讨的问题是知道了-10的补码后如何计算其绝对值?
现在列出计算步骤如下:
1)将其补码取反得:0000 0000 0000 1001;
2)然后加1得:0000 0000 0000 1010;
即得-10的绝对值10……
因此已知负数A,则|A|=~A+1;
计算机求补码和数学上的有点区别,是连同符号位一起计算的,且不管 x 是正数还是负数,都执行(0-x)操作,所以负数的补码就得到原码的绝对值,即为正数。
确定是正数时,不要用 neg 去求补码。
负数补码的绝对值怎么求?
------
负数补码,这是代码,并没有绝对值。
你先把补码,求出它所代表的真值。
真值是数字,就可以求绝对值了。
------
解释一下为什么补码为 1011 1010,绝对值为 100 0110?
答:
补码为 1011 1010,其真值是:-70。
-70 的绝对值是:70。
70 的二进制就是:100 0110。