按位取反
a = 1:0000 0000 0000 0001
b=~a 所以:
b的补码=1取反: 1111 1111 1111 1110
printf("%d",b);输出b的原码:
减1:1111 1111 1111 1101
取反: 1000 0000 0000 0010
结果:-2.
1 #include <stdio.h>
2
3 int main()
4 {
5 int a,b;
6 a=1;
7
8 b=~a;
9 printf("\40:The a's l complement(decima)is %d\n",b);
10
11 a=~b;
12 printf("\40:The a's l complement(hexidecimal)is %d\n",a);
13
14 return 0;
15 }
2
3 int main()
4 {
5 int a,b;
6 a=1;
7
8 b=~a;
9 printf("\40:The a's l complement(decima)is %d\n",b);
10
11 a=~b;
12 printf("\40:The a's l complement(hexidecimal)is %d\n",a);
13
14 return 0;
15 }

浙公网安备 33010602011771号