这蟒蛇结给人的期望值时,我换用括号每个班次,否则给0:python表达式中括号的语义是什么?
Coef = ((0xFF&resp[0])<<24) + ((0xFF&resp[1])<<16) + ((0xFF&resp[2])<<8) +(0xFF&resp[3])) #OK
Coef = (0xFF&resp[0])<<24 + (0xFF&resp[1])<<16 + (0xFF&resp[2])<<8 +0xFF&resp[3]) #NOK
从我的角度为C语言开发点,铭记这两个Coef中和RESP是无符号整数这个语句应该是等价的。
我的猜测是Python在括号不存在时对var的类型感到困惑。
括号不会影响类型,它们只是覆盖运算符优先级。 – Barmar
我会替换你的C级代码:* import struct; Coef = struct.unpack(“> L”,resp [:4])* – guidot