【发布时间】:2015-08-02 18:08:05
【问题描述】:
我正在尝试找出以下代码的原因:
{
unsigned int a = 10;
a = ~a;
printf("%d\n", a);
}
a 开头为00001010,NOT 操作后,将转换
转入11110101。
当尝试将a 打印为有符号整数时会发生什么,这使得
打印结果为-11?
我以为我最终会看到-5(根据二进制表示),但不是-11。
我很高兴得到关于此事的澄清。
【问题讨论】:
标签: c printing unsigned-integer