zoukankan      html  css  js  c++  java
  • ACM模板——bitset小结

    对于一个叫做a的bitset:
    a.size()      返回大小(位数)
    a.count()     返回1的个数
    a.any()       返回是否有1
    a.none()      返回是否没有1
    a.set()       全都变成1
    a.set(p)      将第p+1位变成1
    a.set(p, x)   将第p+1位变成x
    a.reset()     全都变成0
    a.reset(p)    将第p+1位变成0
    a.flip()      全都取反
    a.flip(p)     将第p+1位取反
    a.to_ulong()  返回它转换为unsigned long的结果,如果超出范围则报错
    a.to_ullong() 返回它转换为unsigned long long的结果,如果超出范围则报错
    a.to_string() 返回它转换为string的结果
    bitset<4> a ( string("1001"));
    bitset<4> b ( string("0011"));
    
    cout << (a^=b) << endl;       // 1010 
    cout << (a&=b) << endl;       // 0010
    cout << (a|=b) << endl;       // 0011 
    
    cout << endl << a << endl;    // 0011
    cout << b << endl << endl;    // 0011
    
    cout << (a<<=2) << endl;      // 1100 
    cout << (a>>=1) << endl;      // 0110
    
    cout << endl << a << endl;    // 0110
    cout << b << endl << endl;    // 0011
    
    cout << (~b) << endl;         // 1100 
    cout << (b<<1) << endl;       // 0110 
    cout << (b>>1) << endl;       // 0001
    
    cout << (a==b) << endl;       // false (0110==0011)
    cout << (a!=b) << endl;       // true  (0110!=0011)
    
    cout << (a&b) << endl;        // 0010
    cout << (a|b) << endl;        // 0111
    cout << (a^b) << endl;        // 0101
  • 相关阅读:
    【HDOJ】5179 beautiful number
    【HDOJ】3459 Rubik 2×2×2
    【HDOJ】3419 The Three Groups
    【HDOJ】3085 Nightmare Ⅱ
    【HDOJ】3451 Beat drop
    【HDOJ】3309 Roll The Cube
    WP手机使用记录
    WinCE系统下应用崩溃原因的分析方法
    指针减法
    WinCE Overlay
  • 原文地址:https://www.cnblogs.com/Asurudo/p/11619279.html
Copyright © 2011-2022 走看看