我如何创建包含64位数组的字节数组以及如何将这些位转换为十六进制值
本文关键字:数组 转换 十六进制 字节 创建 何创建 包含 64位 字节数 | 更新日期: 2023-09-27 18:17:22
我想创建包含64位的字节数组,我如何才能获得特定的位值,例如第17位,以及我如何才能获得字节索引的十六进制值?我是这样做的,对吗?
byte[] _byte = new byte[8];
var bit17=((((_byte[2]>>1)& 0x01);
string hex=BitConverter.ToString(_byte,2,4).Replace("-", string.Empty)
您可以使用BitArray
:
var bits = new BitArray(64);
bool bit17 = bits[17];
我不确定你所说的"那位的十六进制值"是什么意思-它将是0或1,因为它是一个位。
如果你有一个字节中的位的索引(介于0到7之间),那么你可以将其转换为十六进制字符串,如下所示:
int bitNumber = 7; // For example.
byte value = (byte)(1 << bitNumber);
string hex = value.ToString("x");
Console.WriteLine(hex);
您可以直接使用ToString()
方法。
byte[] arr= new byte[8];
int index = 0;
string hexValue = arr[index].ToString("X");