如何生成所有可能的 n 位二进制数?
How to generate all possible n-bits binary numbers?
如何生成所有可能的二进制数,如下所示:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
List<int> GetAllPossibleBinaryNumbers(int length) {
}
在上面 GetAllPossibleBinaryNumbers
接受 length
作为位数,returns 所有可能的二进制值。
计算有多少个数字(即2^n),从0开始循环,在2^n - 1结束。
int length = 4;
int numbers = 1 << length; // equivalent of 2^n
for(int i=0; i<numbers; i++)
{
string binary = Convert.ToString(i, 2);
string leading_zeroes = "00000000".Substring(0,length-binary.Length);
Console.WriteLine(leading_zeroes + binary);
}
如何生成所有可能的二进制数,如下所示:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
List<int> GetAllPossibleBinaryNumbers(int length) {
}
在上面 GetAllPossibleBinaryNumbers
接受 length
作为位数,returns 所有可能的二进制值。
计算有多少个数字(即2^n),从0开始循环,在2^n - 1结束。
int length = 4;
int numbers = 1 << length; // equivalent of 2^n
for(int i=0; i<numbers; i++)
{
string binary = Convert.ToString(i, 2);
string leading_zeroes = "00000000".Substring(0,length-binary.Length);
Console.WriteLine(leading_zeroes + binary);
}