左移给出错误的结果

时间:2019-01-04 01:53:40

标签: vb.net bit-shift

这是我的代码:

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给出了预期的结果,但我希望能够直接从数组中读取值。

1 个答案:

答案 0 :(得分:0)

那是一个编码错误

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