c#中怎么用int转换成BitArray

2025-04-04 00:10:59
推荐回答(4个)
回答1:

根据具体需求,使用BitArray类型的构造函数,可以实现。下面举一例:

给定一个int数组,把它转换成BitArray,转换规则:非负整数转为为true,负数转换为false。

			int[] values = { -1, 2, 3, 0, -4 };
BitArray bitValues = new BitArray(values.Select(x => x >= 0).ToArray());
foreach (bool bitValue in bitValues)
Console.WriteLine(bitValue);
Console.ReadKey();

上述代码在.net framework 3.5以上版本通过测试。

小知识:BitArray类型

管理位值的压缩数组,该值表示为布尔值,其中 true 表示位是打开的 (1),false 表示位是关闭的 (0)。

小知识参考资料:MSDN。

回答2:

如果是我的话,我就会自己做一个转换程序的。
首先是将int转换为二进制形式的字符串的,然后遍历这个字符串,判断各个位置的值是否为1,如果为1,则对bitarray对应位置,置为1,否则置为0、就这样简单的。

回答3:

j是int
byte[] tmpk = {(Byte)j};
BitArray tmpj = new BitArray(tmpk);

回答4:

int i = 10;
BitArray ba = new BitArray(i);