在 VB.NET 中存储一个字节的 4 位
在 VB.NET 中存储一个字节的 4 位的最佳方法是什么?其中最佳意味着:
- 字节类型最直接的存储方法。
- 执行按位运算时最容易使用。
- 将位直接转换为其他类型。
通过其构造函数将它们存储在 BitArray 中会颠倒位的顺序。这意味着尝试获取第一位的值将需要在 BitArray 的最后一个条目中查找该值。 将它们存储在布尔数组中并不提供从字节转换的直接方法,并且阻碍了到其他类型的转换。
What is the best way to store 4 bits from a byte in VB.NET? Where best means:
- The most straightforward method of storage from a Byte type.
- The easiest to work with while performing bitwise operations.
- Straightforward conversion of the bits to other types.
Storing them in a BitArray via its constructor reverses the order of the bits. This means that attempting to get the value of the first bit will require looking for that value in the last entry in the BitArray.
Storing them in an Array of Booleans does no present a straightforward way of conversion from the byte, and impedes the conversion to other types.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您不喜欢 BitArray 的工作方式,您始终可以创建自己的自定义类:
然后,使用:(
我不了解 VB.NET,但我认为这是正确的)。
You could always create your own custom class if you don't like how
BitArray
works:Then, to use:
(I don't know VB.NET, but I think this is correct).
我同意将它们保留在一个字节中,但不清楚为什么???你想要其中一个半字节...这个例子将一个字节的两个半字节放入不同的数组中
I agree with keeping them in a byte, however it is not clear why??? you want one of the nibbles... This example puts both nibbles of a byte into different arrays
将其保留在字节中:
清除位也非常简单:
如果您想保留最低有效位,只需反转十六进制值即可:
Keep it in the byte:
Clearing the bits is also really simple:
If you want to keep the least significant you simply reverse the hex value: