VC++ 使用bit移位
通常很多协议中都会使用bit位来表示某个开关开启或者关闭,C++中使用bitset对每一位进行操作.
1.首先添加头文件
#include <bitset>
using std::bitset;
添加好头文件之后就可以直接在代码中使用bitset方法了。
2.bitset定义和初始化
bitset<n> bitvalue; //初始化长度为n的bitset数组,每位均为0
bitset<n> bitvalue(u);//bitvalue是unsigned long 型ud的一个副本
bitset<n> bitvalue(s); //bitvalue是string对象s中含有位串的副本
bitset<n> bitvalue( s, pos, n);//bitvalue是s中从位置pos开始的n个位 的副本
3.bitset的简单例子
3.1:自己设置bit位
string strvalue=”00000000000000000000000000001100″;//设置第三位和第四位为1,其他为0
bitset<32> bitvalue(strvalue);//bitset[2]=1, bitset[3]=1
unsigned int ivalue = bitvalue.to_ulong(); //转化成十进制数
3.2 解析其他人回传过来的bit位
string strvalue = “12”;
bitset<16> bitsetvalue(strvalue );
for( int i=0; i<bitset; i++ )//循环便利其中每一位的值
{
int value = bitsetvalue[i];
}
string bittypestr = bitsetvalue.to_string(); //转化成为0000000000001100的字符格式
扫描下方二维码,关注业余草微信公众号,回复“FFmpeg”关键词,获取 FFmpeg 视频教程!