#include<stdio.h>
int main(){
int a = 11; // 0000 0000 0000 1011
int b = ~a; // 1111 1111 1111 0101 [2s compliment] 0100 => 0101 =>
printf("\n %d \n",b); // -11
return 0;
}
该程序输出值-12。假设“〜”对应于2的补码,则必须输出-11,如果其1的补码则必须输出-4。 无法得到它如何输出值12.
答案 0 :(得分:2)
~
运算符不是2的补码,而是按位求反。它只是改变了一切。
2&#39;赞美定义为(~a)+1
。