关于移位符号的一个问题
int main(void)
{
long aDataLH = 8;
char outSndBuf[4];
outSndBuf[0] = aDataLH & 0xFF;
outSndBuf[1] = ( aDataLH & 0xFF00 ) > > 8;
outSndBuf[2] = ( aDataLH & 0x00FF0000 > > 16 );
printf( "%02x,%02x,%02x\n ",outSndBuf[0],outSndBuf[1],outSndBuf[2]);
return 0;
}
第3个不能正确输出,这是为什么呢
要怎么办修改才好呢
谢谢
[解决办法]
outSndBuf[2] = ( aDataLH & 0x00FF0000) > > 16 ;