当前位置:网站首页>bitset的基本用法
bitset的基本用法
2022-08-04 10:47:00 【beyond+myself】
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<bitset>
using namespace std;
int main()
{
//bitset的长度在设置的时候应该请确定
//可以单独访问某个元素例如bit[0]表示第一个元素
bitset<4> bit1;
cout<<bit1<<endl;//默认全为0
bitset<4> bit2(5);//设置初始值
cout<<bit2<<endl;
bitset<4> bit3(17);
cout<<bit3<<endl;//如果初始值大于位数,则高位舍弃,只保留低位
bitset<4> bit4(string("1111"));//用字符串初始化
cout<<bit4<<endl;
cout<<(bit2&bit3)<<endl;//注意加上括号
cout<<(bit2|bit3)<<endl;
cout<<(~bit1)<<endl;
cout<<(bit1^bit2)<<endl;
cout<<(bit1<<1)<<endl;
cout<<(bit2>>1)<<endl;
cout<<bit2.size()<<endl;//返回大小
cout<<bit2.count()<<endl;//返回1的数量
cout<<bit2.any()<<endl;//返回是否含有1
cout<<bit2.none()<<endl;//返回是否没有1
cout<<bit2.set()<<endl;//将所有位数设置为1
cout<<bit1.set(0)<<endl;//将第p+1为设置为1
cout<<bit1.set(0,0)<<endl;//将第p+1为设置为0
cout<<bit1.reset()<<endl;//全部变为0
cout<<bit1.reset(0)<<endl;//将第p+1为设置为0
cout<<bit1.flip(0)<<endl;//将第p+1位取反
cout<<bit1.to_string()<<endl;//将其转化位字符串输出
cout<<bit1.to_ulong()<<endl;//转化为unsinged long输出,超出范围则报错
cout<<bit1.to_ullong()<<endl;//转化为unsigned long long,超出范围则报错
cout<<bit1[0]<<endl;
printf("%s\n",bit1);//默认是字符串类型的
return 0;
}
边栏推荐
猜你喜欢
随机推荐
ThreadLocal详细分析
在测试集上训练,还能中CVPR?这篇IEEE批判论文是否合理?
热成像测温的原理是什么呢?你知道吗?
Camunda整体架构和相关概念
【Inspirational】The importance of review
sqlilabs less-38~39
datax oracle to oracle离线json文件
Super Learning Method
Heap Sort
知其然,知其所以然,JS 对象创建与继承
物体颜色的来源
无代码平台多项选择入门教程
2万字50张图玩转Flink面试体系
LVS-DR集群部署
[代码阅读] CycleGAN: Unpaired Image-To-Image Translation Using Cycle-Consistent Adversarial Networks
二叉树的基础练习
[论文阅读] Unpaired Image-to-Image Translation Using Adversarial Consistency Loss
SkiaSharp 之 WPF 自绘 粒子花园(案例版)
再次搞定 Ali 云函数计算 FC
Maple 2022 software installation package download and installation tutorial