zoukankan      html  css  js  c++  java
  • 位运算(C++)

    C++输出十六进制

    #include<iostream>
    #include<iomanip>
    using namespace std;
    
    int main()
    {
        int a = 60;
        int b = 13;
        int c =  a &b;
        cout << "a : hex "<<hex << a << endl;
        cout << "b : hex "<<hex << b << endl;
        cout << "c : hex "<<hex << c << endl;
        return 0;
    }

    运行结果:

    exbot@ubuntu:~/wangqinghe/C++/enum$ ./mybyte

    a : hex 3c

    b : hex d

    c : hex c

    C++输出二进制:

    #include<iostream>
    #include<bitset>
    using namespace std;
    const int num = 8; //输出位数控制
    int main()
    {
        int n_max = 42;
        cout << (bitset<num>)n_max << endl;
        return 0;
    }

    运行结果:

    exbot@ubuntu:~/wangqinghe/C++/enum$ ./binbyte

    00101010

    位计算:

    #include<iostream>
    #include<bitset>
    using namespace std;
    const int num = 8;
    
    int main()
    {
        int a = 60;
        int b = 13;
        int c = 0;
         cout << "a = " << a << endl; 
        cout << "b = " << b << endl;
    
        c = a & b;
        cout << "& AND" << endl;
        cout << "a : " << (bitset<num>)a << endl;
        cout << "b : " << (bitset<num>)b << endl;
        cout << "c : " << (bitset<num>)c << endl;
    
        c = a | b;
        cout << "| OR" << endl;
        cout << "a : " << (bitset<num>)a << endl;
        cout << "b : " << (bitset<num>)b << endl;
        cout << "c : " << (bitset<num>)c << endl;
    
        c = a ^ b;
        cout << "^ XOR" << endl;
        cout << "a : " << (bitset<num>)a << endl;
        cout << "b : " << (bitset<num>)b << endl;
        cout << "c : " << (bitset<num>)c << endl;
    
        c = (~a);
        cout << "~ Reverse" << endl;
        cout << "a = " << a << endl;
        cout << "c = " << c << endl;
        cout << "a : " << (bitset<num>)a << endl;
        cout << "c : " << (bitset<num>)c << endl;
    
        c = a << 2;
        cout << "<< shift left" << endl;
        cout << "a = " << a << endl;
        cout << "c = " << c << endl;
        cout << "a : " << (bitset<num>)a << endl;
        cout << "c : " << (bitset<num>)c << endl;
    
        c = a >> 2;
        cout << "<< shift right" << endl;
        cout << "a = " << a << endl;
        cout << "c = " << c << endl;
        cout << "a : " << (bitset<num>)a << endl;
        cout << "c : " << (bitset<num>)c << endl;
        return 0;
    }

    与预算:有0 为0,双1为1

    或运算:有1为1,双0 为0

    异或运算:相同为0,不同为1

  • 相关阅读:
    搭建Springboot+mybatis+redis+druid
    搭建Springboot+mybatis+redis+druid
    Uber是一部无所不在的数字出行物联网
    Uber是一部无所不在的数字出行物联网
    Uber是一部无所不在的数字出行物联网
    Uber是一部无所不在的数字出行物联网
    详解光伏扶贫模式 参与部门和各扮演的角色
    详解光伏扶贫模式 参与部门和各扮演的角色
    深入解析:从源码窥探MySQL优化器
    如何解决NetBeans9出现java.lang.StackOverflowError问题
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11304991.html
Copyright © 2011-2022 走看看