C语言中不同数字类型的移位运算的坑

今天遇到一个问题,从串口接收的数据, 存储在char类型的buf中,取buf[3]进行移位操作

收纳上墙插座面板多孔多插位插排移位器多功能插板带线插线板移动
收藏宝贝送爬墙贴 | 月销量4844件
优惠价10.8元
原价¥21.6

淘口令:

¥uo2rX9xAo6L¥
 

( buf[3] << 6 ) >> 6

得到的结果和预期不一致。

断点跟踪,发现,编译器把( buf[3] << 6 ) >> 6定位int类型,而我预期是char类型

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享
评论 抢沙发