typedef unsigned char Set;
Set s1,s2;
s1 = 0xda;
PRINT(s1);
printf("%d\n", s1);
s2 = -s1;
printf("%d\n", s2);
PRINT(s2);
// PRINT显示二进制输出
我不明白这个输出的原因 - >
11011010
218
38
00100110
如何在s2上保存s1的协商(显然为空)将218改为38?!
答案 0 :(得分:0)
我确信我不是唯一一个第一眼看不到它的人,所以我会尝试自己回答。
如果你这样做:
s2 = 256-s1;
或者这个:
s2 = 0-s1;
而不是
s2 = -s1;
你会发现它仍然是相同的结果。因此,如果你按我在问题中的方式分配它,你就要考虑隐式计算。