所以,我说你没明白,什么叫 常量, 什么叫变量. 所以我让你分步写, 有助你理解.
result = 0x80 >> shift; 你为什么不分步写?如果分步写了,根本就没有这样的疑惑!
0x80 是 常量, 它能移位么?? 不能! 所以, 你分步写只能这样写:
result = 0x80;
result >>= shift;
看出来了么?? 你的 result 是 有符号char -128~127, 所以 0x80 赋值后,是-128, 明白了么??
提个小建议,你不如先 学 1礼拜 的汇编, 也不要深入, 了解一下 51的 运转原理,以及常量变量的 应用关系,再回头看这问题,就会发现根本不是问题。 |