gpt4 book ai didi

C# - BitArray 到十六进制

转载 作者:行者123 更新时间:2023-11-30 20:36:15 27 4
gpt4 key购买 nike

我有不同大小的 BitArray,我想在十六进制字符串中进行转换。
我试图将 BitArray 转换为 byte[],但它没有给我正确的格式。 ( Converting a boolean array into a hexadecimal number )

例如,BitArray 为 12,我希望字符串为 A8C(3 hexa 因为 12 位)
谢谢

最佳答案

我已经为 BitArray 实现了三个有用的扩展方法,它们能够做你想做的事:

    public static byte[] ConvertToByteArray(this BitArray bitArray)
{
byte[] bytes = new byte[(int)Math.Ceiling(bitArray.Count / 8.0)];
bitArray.CopyTo(bytes, 0);
return bytes;
}

public static int ConvertToInt32(this BitArray bitArray)
{
var bytes = bitArray.ConvertToByteArray();

int result = 0;

foreach (var item in bytes)
{
result += item;
}

return result;
}

public static string ConvertToHexadecimal(this BitArray bitArray)
{
return bitArray.ConvertToInt32().ToString("X");
}

关于C# - BitArray 到十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37162727/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com