汇编语言,C语言问题,请问真值怎么求出来的。

2024-11-28 21:52:44
推荐回答(2个)
回答1:

第一位符号位1表示负,所以是负数;
1100111 (二进制)= 2^6+2^5+2^2+2^1+2^0 = 103(十进制)
所以是 -103

回答2:

已知 X 的补码是:1001 1001

首位 1,既代表负号,也代表数值-128。

所以:X =-128 + 16 + 8 + 1 =-103。

----

如果 X 的补码是:0001 1001

那么:X = 16 + 8 + 1 =+25。

----

求真值,就是这么简单。

哪有正负数原码反码取反加一符号位不变这些啰嗦事!