股票

<<与+优先级的问题

今天在执行移位指令时,想得到负数,总是无法得到正确的结果:

value = ord(data[39])+ord(data[40])<<8

查看bin文件,里面的编码是正确的,但是打印输出结果总是错误。

比如data[39]=0xFB, data[40]=0xFF

输出的 value 却是 0x1FA00

变换了几次,低位总是 00

后面终于看到, <<8 没有括号,才想起来 << 的优先级是很低的,加了括号再进行测试,终于输出正确结果了!

打赏
原文链接:,转发请注明来源!

发表评论