如何在vb.net中将位掩码转换为字节数组

时间:2011-12-31 20:09:16

标签: .net vb.net

我有一个我想表示为位掩码的短整数。

如何获取该值并将其转换为大小为2的字节数组中的位掩码?

例如,假设我的短int值为3.我希望将其表示为二进制“100”(设置第三位位置给出实际十进制值“4”)并且我希望它是用两个字节的数组表示。

另一个例子是值“12”。在二进制中,对于十进制值2048,这将是“100000000000”(第12位位置设置)。在双字节数组中,这将意味着第一个(高阶)字节将是“1000”并且第二个字节(低位)将是“00000000”(0)。

是否有一种简单的方法,无需编写一堆复杂的代码来获取short int值,将其转换为具有short int值位设置的位掩码,然后将结果值存储为双字节数组?< / p>

1 个答案:

答案 0 :(得分:2)

应该很简单:

    Dim bytes As Byte()
    ReDim bytes(1)

    Dim x As Integer = 12

    x = x - 1
    If x > 0 Then
        If x > 8 Then
            bytes(1) = 1 << (x - 8)
        Else
            bytes(0) = 1 << x
        End If
    End If