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
相关文章推荐
- C++ 类操作符重载笔记
- C++Primer第五版 第3章 字符串、向量和数组(练习解答)
- C++_std::bind std::function 高级用法
- Effective C++ 条款55 让自己熟悉Boost
- C++Primer第五版 3.5.3节练习
- C++Primer第五版 3.5.2节练习
- 文《左右c++与java中国的垃圾问题的分析与解决》一bug分析
- 從 C++ 創造者到 Facebook 共同創辦人,你該認識的 12 位工程師
- 第二周项目3(2) 汉诺塔
- C++的函数隐藏、覆盖和重载
- C++基础---面向对象
- C++字符串的使用
- Effective C++——条款34(第6章)
- C/C++ 中的0长数组(柔性数组)
- C++,传递多个参数
- C++兰不达表达式
- C++---处理宽字符
- 最值得关注的10个C开源项目
- C++-----利用括号递归实现的加减乘除
- 浅谈C/C++结构体内存分配问题