左移给出错误的结果



这是我的代码:

dim message as byte() = {5,4,3,2,1}
dim result = 244
dim result2 = 244
result = result + CUInt(CUInt(message(4) << 8))
result2 = result2 + CUInt(CUInt(1 << 8))  
console.WriteLine(result)
Console.WriteLine(result2)

结果是:

 245  
 500

我不明白为什么即使message(4)等于1为什么我没有得到预期的结果。
result2给出了预期的结果,但我希望能够直接从数组中读取值。

好吧,

这是一个编码错误

正确的代码是 结果 = 结果 + CUInt(CUInt(消息(4)) <<8)我现在可以看到我需要在左移之前获取消息 (4) 的 CUint

最新更新