问个C语言左移<<的问题
随便写下啦,这个问题比较弱智,别取笑我啊uchar a=0x1;
uchar b=0x2;
uchar c=0x3;
uchar d=0x3;
void fun(void)
{
uint i;
i=a|(b<<8)|(c<<16) |(d<<24) ;
}
i等于多少,why????
疑惑是abcd是8位的,移位了8位应该全0了??
但是实际上是a,b,c,d变成32位的(跟赋值左式一样??)?再移位??
求解、
2013-06-01 20:39
2013-06-01 20:44
2013-06-01 20:48
2013-06-01 21:12
2013-06-01 21:28
2013-06-01 21:39
2013-06-01 21:57
2013-06-01 23:59
2013-06-02 01:44