关于C语言16进制移位运算的问题

2022-03-19 社会 105阅读
问题1

printf("%x,%x",a,b);
a的值为9a,b的值为ff65
问题2:
结果为-256
因a为整型,所以是一个16位数,-1在计算机内会转化为0ffffh,而(a&0xff)得到的结果为00ffh,然后<<8表示左移8位,即00ffh变成ff00,当按%d输出时就会把它转化成真值,结果就为-256了.
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com