当前位置:网站首页>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;
}
边栏推荐
猜你喜欢
华为开源:聚焦开源基础软件,共建健康繁荣生态
JUC(1)线程和进程、并发和并行、线程的状态、lock锁、生产者和消费者问题
sqlilabs less-38~39
LVS-DR集群部署
Introduction to Mysql storage engine
C语言*小白的探险历程
MySQL: Integrity Constraints and Table Design Principles
Maple 2022 software installation package download and installation tutorial
iMeta | 百度认证完成,搜索“iMeta”直达出版社主页和投稿链接
Camunda整体架构和相关概念
随机推荐
BOSS 直聘回应女大学生连遭两次性骚扰:高度重视求职者安全,可通过 App 等举报
tp5+微信小程序 分片上传
知其然,知其所以然,JS 对象创建与继承
iMeta | 德国国家肿瘤中心顾祖光发表复杂热图(ComplexHeatmap)可视化方法
微信小程序自定义组件-城市选择「建议收藏」
JS工厂模式_工厂模式进行封装
学会使用set和map的基本接口
解决:WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING
STM32前言知识总结
nsq部署_andlua辅助源码
利用pytest hook函数实现自动化测试结果推送企业微信
航企纠缠A350安全问题 空客主动取消飞机订单
华为开源:聚焦开源基础软件,共建健康繁荣生态
江西发布紧急通知:全面开展涉校涉生安全隐患大排查
cubemx stm32 afm3000模块 气体流量传感器 驱动代码
《迁移学习导论》第2版,升级内容抢先看!
二叉树的基础练习
Learn to use the basic interface of set and map
JUC(1)线程和进程、并发和并行、线程的状态、lock锁、生产者和消费者问题
使用.NET简单实现一个Redis的高性能克隆版(二)