Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ 位运算

作者:不必假装在乎   发布日期:2025-06-10   浏览:80

#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。
  2. 按位或 (|):两个操作数的每一位都进行或运算,只要有一个位为1,结果就为1。
  3. 按位异或 (^):两个操作数的每一位都进行异或运算,当两个对应位不同时,结果为1。
  4. 左移 (<<):将操作数的二进制表示向左移动指定的位数,右边补0。
  5. 右移 (>>):将操作数的二进制表示向右移动指定的位数,左边补符号位(对于负数)或0(对于正数)。
  6. 按位取反 (~):对操作数的每一位进行取反操作,即将0变为1,1变为0。

这些位运算符在处理低级硬件编程、优化算法和某些特定的数学计算中非常有用。

上一篇:c++ define

下一篇:c++ vector 删除

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++freopen怎么用

c++ 获取系统时间

c++进制转换函数

c++ tcp

c++ gcd函数

c++ cli

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站