【发布时间】:2015-09-17 15:32:39
【问题描述】:
如果我使用的是 m 而不是 ~m,那么代码会给出预期的十六进制值 32,但这里给出的是 ffffffdf 作为输出。
编辑
我知道按位 ~ NOT 运算符的工作原理。但我不明白这一点。有人能解释一下吗...??
#include<stdio.h>
int main()
{
unsigned int m = 32;
printf("%x\n", ~m); //ffffffdf is printed as output
return 0;
}
【问题讨论】:
-
你知道C语言中的
~是什么吗?你说你愿意。那么问题是什么? -
您的预期结果是什么?
-
我投票结束这个问题作为离题,因为它表明没有研究工作。
-
如果你知道 ~ 是如何工作的,那你为什么要问这个?你拿了一个 int,记下了它,然后问它为什么不同......
-
@claj 整数是 什么 ?很多事情并不是每个人都清楚,但这并不意味着他们都提出了一个有效的 SO 问题。
标签: c