c#编程,产生随机数,让随机数所代表的二进制数中只有2位为1.比如0000100100,011000,10001,应该如何实现?就是模拟信道发生随机的两位错误.

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 16:48:58

c#编程,产生随机数,让随机数所代表的二进制数中只有2位为1.比如0000100100,011000,10001,应该如何实现?就是模拟信道发生随机的两位错误.
c#编程,产生随机数,让随机数所代表的二进制数中只有2位为1.比如0000100100,011000,10001,应该如何实现?
就是模拟信道发生随机的两位错误.

c#编程,产生随机数,让随机数所代表的二进制数中只有2位为1.比如0000100100,011000,10001,应该如何实现?就是模拟信道发生随机的两位错误.
///
/// 返回二进制字符串
///
/// 结果中【1】的个数
/// 结果的长度,若为-1则随机产生一个20位以下的长度
///
private string random10(int numsOf1,int length)
{
int Nownumsof1 = 0;
string result = "";
Random r = new Random();
if (length == -1) { length = r.Next(20); }
for (int i = 0; i < length; i++) {
int x = r.Next(2);
if (Nownumsof1 < 2)
{
result += x.ToString();
if (x == 1) { Nownumsof1++; }
}
else { i--; }
}
return result;
}