关于位运算0求反输出-1
程序代码:#include<stdio.h>
int main(void)
{
unsigned char a = 0;
a = ~a;
printf("%ld\n", a);
return 0;
}输出255
程序代码:#include<stdio.h>
int main(void)
{
unsigned short a = 0;
a = ~a;
printf("%ld\n", a);
return 0;
}输出65535
---------
上面都正确
但是
程序代码:#include<stdio.h>
int main(void)
{
unsigned int a = 0;
a = ~a;
printf("%d\n", a);
printf("%ld\n", a);
printf("%lld\n", a);
return 0;
}输出如下
这是为什么呢?
不是应该输出 4294967295 吗
[此贴子已经被作者于2017-2-23 21:01编辑过]









