转换为base 2然后拆分成一个数组

时间:2016-02-22 07:15:35

标签: c# arrays base

我想将我的基数10转换为基数2,然后将数据存储在数组中。

以下是两个例子:

我的值是5所以它将被转换为101然后我有一个这样的数组:{1,0,1}

或者我的值是26因此它将被转换为11010然后我将有一个这样的数组:{0,1,0,1,1}

提前感谢您的时间和考虑。

1 个答案:

答案 0 :(得分:1)

转换int'x'

int x = 3;

一种方法,通过操纵int:

string s = Convert.ToString(x, 2); //Convert to binary in a string

int[] bits= s.PadLeft(8, '0') // Add 0's from left
             .Select(c => int.Parse(c.ToString())) // convert each char to int
             .ToArray(); // Convert IEnumerable from select to Array

或者,通过使用BitArray类 -

BitArray b = new BitArray(new byte[] { x });
int[] bits = b.Cast<bool>().Select(bit => bit ? 1 : 0).ToArray();

来源:https://stackoverflow.com/a/6758288/1560697