我有3个数字,我试图把它们打包成一个字节(0-255)。按位打包多个数字到一个字节
Dim num0 As Integer = 6
Dim Num1 As Integer = 17
Dim Num2 As Integer = 30
Dim Packed As Integer = (num0 And &HFFFF) << 1 Or (Num1 And &HFFFF) << 16 Or Num2 And &HFFFF
Dim GotNum0 = (Packed >> 1) And &HFFFF
Dim GotNum1 = (Packed >> 16) And &HFFFF
Dim GotNum2 = Packed And &HFFFF
但输出是10,16,20
谁能帮助。
是的,该代码是非常错误的。基本问题,Num0需要至少3位,Num1需要5位,Num3需要5位。 3 + 5 + 5位不适合8位字节。很不清楚你打算如何解决根本问题。那么,不要这样做,使用一个结构。 –
是的,我同意。谢谢, – dave88