您的位置:首页 > 编程语言 > C语言/C++

C++位操作符总结

2015-09-13 13:57 441 查看
#include <bitset>
#include <iostream>
#include <iomanip>
using namespace std;

#define uint8_t unsigned char
#define uint16_t unsigned short
#define uint32_t unsigned int

bitset<32> getBinary32(int num)
{
bitset<32> bit(num);
return bit;
}

bitset<8> getBinary8(uint8_t num)
{
bitset<8> bit(num);
return bit;
}

int main()
{
uint8_t a = 255;
//左移
cout<<"左移"<<endl<<"a="<<(int)a<<" "<<getBinary8(a)<<endl;
for(int i = 0;i<=24;i++)
{
if(i < 8)
{
uint16_t b = a<<i;
cout<<"b="<<setw(10)<<(unsigned short)b<<" "<<getBinary32(b)<<endl;
}
else
{
uint32_t b = a<<i;
cout<<"b="<<setw(10)<<(unsigned int)b<<" "<<getBinary32(b)<<endl;
}
}

//右移
cout<<"右移"<<endl<<"a="<<(int)a<<" "<<getBinary8(a)<<endl;
for(i = 0;i<=24;i++)
{
if(i < 8)
{
uint16_t b = a>>i;
cout<<"b="<<setw(10)<<(unsigned short)b<<" "<<getBinary32(b)<<endl;
}
else
{
uint32_t b = a>>i;
cout<<"b="<<setw(10)<<(unsigned int)b<<" "<<getBinary32(b)<<endl;
}
}
return 0;
}


View Code
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: