我有一个我想表示为位掩码的短整数。
如何获取该值并将其转换为大小为2的字节数组中的位掩码?
例如,假设我的短int值为3.我希望将其表示为二进制“100”(设置第三位位置给出实际十进制值“4”)并且我希望它是用两个字节的数组表示。
另一个例子是值“12”。在二进制中,对于十进制值2048,这将是“100000000000”(第12位位置设置)。在双字节数组中,这将意味着第一个(高阶)字节将是“1000”并且第二个字节(低位)将是“00000000”(0)。
是否有一种简单的方法,无需编写一堆复杂的代码来获取short int值,将其转换为具有short int值位设置的位掩码,然后将结果值存储为双字节数组?< / p>
答案 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