• 模板类-bitset



    • stl提供了std::bitset模板类,定义:bitset <32> bitvec;尖括号中的为长度,这条语句把bitvec定义为含有32个的bitset对象。和容器一样,按位置来访问他们,其位置编号从零开始
    • 初始化bitset对象的方法: 1、bitset<n> b; b有n位,每位都为0 2、bitset<n> b(u); b是unsigned long型u的一个副本 4、bitset<n> b(s, pos, n); b是s中从位置pos开始的n个位的副本, 相当于b是从s中pos位置开始截取n位
    • bitset操作: b.any() b中是否存在为1 b.count() 统计位为1的个数 b.test(pos) 测试b中pos位处是否为1 b.set() 把b中所有位都置为1 b.reset() 所有位都置为0 b.flip() 把b中所有二进制位取反 b.flip(pos) pos处取反 b.to_ulong() 将此二进制转换为一个unsigned long类型值
      #include <bits/stdc++.h>
      using namespace std;
      
      int main() {
      	bitset<3> bs;
      	bs[0] = 1, bs[1] = 1, bs[2] = 1;
      
      	if (bs.any() == 1)	cout << "存在1的位" << endl;
      	else	cout << "不存在为1的位" << endl;
      	cout << "1的个数为"<< bs.count() << endl; 
      	bs.set();
      	cout << "1的个数为"<< bs.count() << endl; 
      	unsigned long value = bs.to_ulong();
      	cout << value << endl;
      	bs.reset();
      	cout << "1的个数为"<< bs.count() << endl; 
      	return 0;
      } 

  • 相关阅读:
    PowerShell 显示气球提示框 2
    BAT 删除隐藏文件
    批处理文件 bat 后台运行
    CMD 命令2
    CMD 命令1
    PowerShell 显示气球提示框 1
    查看SQL Server的版本及License
    How to extract a complete list of extension types within a directory?
    Wordpress无法连接Mysql8的问题
    What is `^M` and how do I get rid of it?
  • 原文地址:https://www.cnblogs.com/Tovi/p/6194770.html
Copyright © 2020-2023  润新知