C语言的位运算问题,请高手指教

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:18:41
temp=0xf7; 对应二进制就是01111111吧
temp=temp<<1; 结果temp对应二进制应该是10111111吧,但实际是00111111,这是怎么加事啊?

0xF7 对应的2进制应该是11110111
temp=0xF7
temp=temp<<1

如果你的temp是一个8位的数,移位后为11101110,即0xEE
如果你的temp是一个8位以上的数,移位后为111101110,即0x1EE

错了,0xf7 对应二进制应该是11110111

0xF7 对应的2进制应该是11110111

..不知道你怎么换算的