<strong><span style="font-size:18px;">#include "stdafx.h"
#include <iostream>
using namespace std;
int get_state(int& value,int index)
{
if((1<< (index)) & value)
{
return 1;
}
else
{
return 0;
}
}
void set_state(int& value,int index,int state)
{
int nFlag = 1;
nFlag = nFlag << index;
if (state == 0)
{
value = value & (~nFlag);
}
else if(state == 1)
{
value = value | nFlag;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int value = 4095;
for (int i=11;i >= 0;i--)
{
cout<<get_state(value,i);
}
cout<<endl;
set_state(value,1,0);
for (int i=11;i >= 0;i--)
{
cout<<get_state(value,i);
}
cout<<endl;
system("pause");
return 0;
}
</span></strong>
c++ 位操作实现数据标志位获取与更新
最新推荐文章于 2022-08-16 07:45:00 发布