C++中负数的位运算

C++

  • C++中负数的位运算
    • C++负数的位与运算
    • C++负数的位或运算

C++中负数的位运算

C++负数的位与运算

C++中负数的位与运算是先将负数用补码表示,再进行按位取与的运算,再将运算的结果从补码表示转化为十进制表示,再输出出来
以下的是一个简单的例子:

int main() {
    //  C++中负数的位与运算

    int number1 = 3;
    int number2 = -4;
    int number3 = number1 & number2;
    cout << "number1 & number2 = " << number3 << endl;
    /*
        3的二进制补码表示为: 0000 0011
        -4的二进制补码表示为:1111 1100
        按位取与运算的结果为: 0000 0000
    */

    number1 = -3;
    number3 = number1 & number2;
    cout << "number1 & number2 = " << number3 << endl;
     /*
        -3的二进制补码表示为:1111 1101
        -4的二进制补码表示为:1111 1100
        按位取与运算的结果为:1111 1100
    */

    /*
    输出结果显示:
        number1 & number2 = 0
        number1 & number2 = -4
    */
    return 0;
}

C++负数的位或运算

道理与位与运算是一样的,就不再赘述了。

你可能感兴趣的:(C++散记)