计算向量中的位

Counting bits in a vector

本文关键字:向量 计算      更新时间:2023-10-16

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

 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

在 c++ 中,变量默认不设置为零。

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

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