二進制位的操作

文章來源於:http://blog.csdn.net/flyfish1986/article/details/3839581

二進制位的操作

在寫程序的時候有的時候要判斷二進制位進行操作例如是否爲1或者是否爲0.
利用C++ 提供的類庫就可以完成。
代碼如下


#include <bitset>
#include <iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{

//size_t n=32;
const size_t n=32;
bitset<n> bit;//把bit定義在一個32位的bitset對象,這裏的n必須是常數,n是變量的錯誤的
bit=65535;//將65535賦值給bit
    cout<<bit.size()<<endl;//二進制位個數(包括1和0)
cout<<bit.count()<<endl;//二進制位中1的個數
cout<<_T("第15位是:")<<bit.test(15)<<endl;//查看第15位是1還是0
cout<<_T("第16位是:")<<bit.test(16)<<endl;//查看第16位是1還是0

bit.set(16);//將第16位設置爲1
cout<<_T("更改之後第16位是:")<<bit.test(16)<<endl;//查看第16位是1還是0
    //輸出所有的二進制位
for (int i=0;i<bit.size();i++)
{
  cout<<bit.test(i);
}
    cout<<endl;

    bit.flip();//二進制全部取反
for (int i=0;i<bit.size();i++)
{
  cout<<bit.test(i);
}
cout<<endl;
bit.set();//二進制位全部設置成1
   
for (int i=0;i<bit.size();i++)
{
  cout<<bit.test(i);
}
cout<<endl;

bit.reset();//二進制位全部設置成0

for (int i=0;i<bit.size();i++)
{
  cout<<bit.test(i);
}

return 0;
}

更多0

 

發佈了2 篇原創文章 · 獲贊 11 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章