【发布时间】:2012-09-22 14:56:13
【问题描述】:
我非常努力地翻转 C int 变量中的位。我是这样做的:
input = 15;
input = ~input;
printf("%d", input);
但它总是显示为-16。应该是0!如果15 写成1111,为什么会返回10000?!这太让人抓狂了!有人可以帮帮我吗!?
【问题讨论】:
-
您忘记了
%d格式的引号;我已经添加了它们。 -
通常最好复制并粘贴您的实际工作代码;这巧妙地避免了拼写错误和类似的错误。
标签: c bit-manipulation