``~搞不懂问题出哪里了`~`帮忙看看``应该很简单的啊``
#include<stdio.h>
int main()
{
printf ( " ~0 >> 1: %d.\n", (~0) >> 1 );
getchar();
return 0 ;
}
为什么结果是-1啊`~`
0按位后应该为 11111111
右移一位后该是: 01111111
就不回是负数啊`可结果是-1```
#include<stdio.h>
int main()
{
printf ( " ~0 >> 1: %d.\n", (~0) >> 1 );
getchar();
return 0 ;
}
为什么结果是-1啊`~`
0按位后应该为 11111111
右移一位后该是: 01111111
就不回是负数啊`可结果是-1```
2007-03-27 14:34
2007-03-27 14:52
2007-03-27 17:44
2007-03-27 17:46
2007-03-27 18:31
~0二进制全是1(16 或32个,编译器不同),在向右移了一位的情况下,,最高位补上的是1了,因为没有0补上,,
2007-03-27 18:36
2007-03-27 19:01
2007-03-27 19:06
2007-03-28 11:12