【ThinkingInC++】13、输出移位运算符的操作
2014-08-12 19:59
302 查看
头文件
/** * 功能:输出移位运算符的操作 * 时间:2014年8月12日20:01:32 * 作者:cutter_point */ #ifndef PRINTBINARY_H_INCLUDED #define PRINTBINARY_H_INCLUDED #include<iostream> using namespace std; void printBinary(const unsigned char val) { for(int i=7 ; i != -1 ; --i) { if(val & (1<<i)) //位运算符,与 cout<<"1"; //吧1左移i位,如果和val是匹配的那么就输出1,否则就是0 else //一共是8位一个字节 cout<<"0"; } } #endif // PRINTBINARY_H_INCLUDED
CPP文件
/** * 功能:输出移位运算符的操作 * 时间:2014年8月12日20:01:43 * 作者:cutter_point */ #include"printBinary.h" #include<iostream> #include<stdlib.h> using namespace std; #define PR(STR, EXPR) cout<<STR; printBinary(EXPR); cout<<endl; int main() { unsigned int getval; unsigned char a, b; cout<<"输入一个在0到255之间的数:"; //由于char是一个字节长度8位所以是0到255 cin>>getval; a=getval; PR("a in binary:", a); cout<<"输入一个在0到255之间的数:"; cin>>getval; b=getval; PR("b in binary:", b); cout<<"----------------------------------------------------------------------------"<<endl; PR("a & b:", a&b); PR("a | b:", a|b); PR("a ^ b:", a^b); PR("~a", ~a); PR("~b", ~b); cout<<"----------------------------------------------------------------------------"<<endl; unsigned char c=0x5A; PR("c in binary:", c); a&=c; PR("a&=c; a=", a); a|=c; PR("a|=c; a=", a); a^=c; PR("a^=c; a=", a); a&=b; PR("a&=b; a=", a); a|=b; PR("a|=b; a=", a); a^=b; PR("a^=b; a=", a); b&=c; PR("b&=c; b=", b); b|=c; PR("b|=c; b=", b); b^=c; PR("b^=c; b=", b); system("pause"); return 0; }
相关文章推荐
- Thinking in java Shift operators 移位操作 还有基本运算符。
- 【ThinkingInC++】25、用sizeof运算符可以确定struct的长度。
- 【ThinkingInC++】61、非成员运算符
- 【ThinkingInC++】61、非成员运算符
- 【ThinkingInC++】2、输入和输出流
- Thinking in C++读书笔记--7.2指针常量
- Thinking again in C++(二)自赋值是非公断
- Thinking in C++ (1-3)
- Thinking in C++ (1-4)
- Thinking in C++ 阅读笔记(第三章)
- thinking in c++ 读书笔记:c与c++之区别
- Thinking in C++读书笔记--5.3缺省参数
- 重读Thinking In C++
- thinking in c++ 读书笔记---友元函数的一个问题
- Thinking in C++ learning(2)-----Data Abstract
- Thinking in C++ learning(3)-----隐藏实现
- Thinking in C++ 下载
- 品味Thinking In C++(二)
- Thinking in C++ (1-1)
- Thinking in C++ 第二版 简体中文版 前言