私はこれらを1バイト(0-255)にパックしようとしている3つの数字があります。バイトに複数の数値をビットパックでパック
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