当我用括号包装每个班次时,这个python语句给出了期望值,否则它给出0:
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
Run Code Online (Sandbox Code Playgroud)
从我作为C开发人员的角度来看,考虑到Coef和resp都是无符号整数,这些语句应该是等价的.
我的猜测是,当括号不存在时,Python对var的类型感到困惑.