计算向量中的位

时间:2014-03-29 17:53:20

标签: c++ vector

我编写了一个5位的线性反馈移位寄存器。尝试确定通过频率测试生成的密钥的强度,计算位数为零和一。但计数完全不正确。我不知道代码中有什么问题,这是代码的相关部分:

 for ( unsigned int freqo; freqo < keyRej.size(); freqo++)
  {
   if (keyRej[freqo] == 1) 
   { 
    count1 = count1 + 1;
   }
   else{count0 = count0 +1;}
  }
 cout << count1 << "\n";
 cout << count0 << "\n";

指向整个代码的链接:http://pastebin.com/sBMa0J5v

1 个答案:

答案 0 :(得分:4)

在c ++中,默认情况下变量不会设置为零。

即。你需要写int count0 = 0;最初将count0设置为零。同样适用于count1

事实上,在初始化之前使用变量是未定义的行为。