bitset 操作

#include "stdafx.h"
#include <iostream>
#include <bitset>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    bitset<32> bitvec(8);
	bool flag = bitvec.any();//判断是否存在某位或者多位为1,有则返回true
	bool flag1 = bitvec.none();//判断是否所有的位都是0,是则返回true
	bool flag2 = bitvec.test(3);//测试第4位是否为1,是则返回true
	cout<<"第4位为:"<<bitvec[3]<<endl;//输出第4位的值
	bitvec.reset(3);//将第4位设置为0,或者bitvec[3] = 0
	cout<<"第4位为:"<<bitvec[3]<<endl;//输出第4位的值
	bitvec.reset();//将所有位设置为0
	cout<<"bitvec的值为:"<<bitvec.to_string()<<endl;
	bitvec.set();//将所有位设置为1
	cout<<"bitvec的值为:"<<bitvec.to_string()<<endl;
	bitvec = 8;
	cout<<"bitvec的值为:"<<bitvec.to_string()<<endl;
	bitvec.flip();//将所有的位翻转
	cout<<"bitvec的值为:"<<bitvec.to_string()<<endl;
	bitvec.flip(0);//翻转第一位
	cout<<"bitvec的值为:"<<bitvec.to_string()<<endl;
	bitvec = 0xffff;//设置低16位为1
	cout<<"bitvec的值为:"<<bitvec.to_string()<<endl;
	bitvec = 012;//用八进制值012设置bitvec
	cout<<"bitvec的值为:"<<bitvec.to_string()<<endl;
	string bit = "1011";
	bitset<32> bitvec1(bit);//用字符串对象初始化bitset<32>对象
	cout<<"bitvec1的值为:"<<bitvec1.to_string()<<endl;
	string bit1 = "1111110101100011010101";
	bitset<32> bitvec2(bit1,6);//用 从第6位开始到字符串结束 这一部分 初始化bitvec2 
	cout<<"bitvec2的值为:"<<bitvec2.to_string()<<endl;
	bitset<32> bitvec3(bit1,6,4);//用 从第6位开始,长度为4 这一部分 初始化bitvec3;
	cout<<"bitvec3的值为:"<<bitvec3.to_string()<<endl;
}
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值