以有效方式查找 C++ 中数字的奇偶校验
在本教程中,我们将编写一个程序来查找数字的奇偶校验。
我们可以通过使用异或和右移运算符执行以下操作有效地找到数字的奇偶校验。
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
结论
如果您对本教程有任何疑问,请在评论部分中提出。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP