在C ++中高效地找到数字的奇偶校验
在本教程中,我们将编写一个找到数字奇偶校验的程序。
通过使用xor和右移运算符执行以下操作,我们可以有效地找到数字的奇偶校验。
int b;b = n ^ (n >> 1);
b = b ^ (b >> 2);
b = b ^ (b >> 4);
b = b ^ (b >> 8);
b = b ^ (b >> 16);
如果结果的最后一位是1,则它是奇校验,否则是奇校验。
示例
让我们看一下代码。
#include <bits/stdc++.h>using namespace std;
void findParity(int n) {
int b;
b = n ^ (n >> 1);
b = b ^ (b >> 2);
b = b ^ (b >> 4);
b = b ^ (b >> 8);
b = b ^ (b >> 16);
if ((b & 1) == 0) {
cout << "Even Parity" << endl;
}
else {
cout << "Odd Parity" << endl;
}
}
int main() {
int n = 15;
findParity(n);
return 0;
}
输出结果
如果运行上面的代码,则将得到以下结果。
Even Parity
以上是 在C ++中高效地找到数字的奇偶校验 的全部内容, 来源链接: utcz.com/z/334543.html