#include <iostream>
using namespace std;
int main() {
// 位运算示例
// 按位与 (&)
int a = 5; // 二进制: 0101
int b = 3; // 二进制: 0011
int andResult = a & b; // 结果: 0001 (十进制 1)
cout << "a & b = " << andResult << endl;
// 按位或 (|)
int orResult = a | b; // 结果: 0111 (十进制 7)
cout << "a | b = " << orResult << endl;
// 按位异或 (^)
int xorResult = a ^ b; // 结果: 0110 (十进制 6)
cout << "a ^ b = " << xorResult << endl;
// 左移 (<<)
int leftShiftResult = a << 1; // 0101 << 1 = 1010 (十进制 10)
cout << "a << 1 = " << leftShiftResult << endl;
// 右移 (>>)
int rightShiftResult = a >> 1; // 0101 >> 1 = 0010 (十进制 2)
cout << "a >> 1 = " << rightShiftResult << endl;
// 按位取反 (~)
int notResult = ~a; // 取反后的结果取决于系统的整数表示方式(通常是补码)
cout << "~a = " << notResult << endl;
return 0;
}
&
):两个操作数的每一位都进行与运算,只有当两个对应位都为1时,结果才为1。|
):两个操作数的每一位都进行或运算,只要有一个位为1,结果就为1。^
):两个操作数的每一位都进行异或运算,当两个对应位不同时,结果为1。<<
):将操作数的二进制表示向左移动指定的位数,右边补0。>>
):将操作数的二进制表示向右移动指定的位数,左边补符号位(对于负数)或0(对于正数)。~
):对操作数的每一位进行取反操作,即将0变为1,1变为0。这些位运算符在处理低级硬件编程、优化算法和某些特定的数学计算中非常有用。
上一篇:c++ define
下一篇:c++ vector 删除
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站