/** * 功能:输出移位运算符的操作 * 时间: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
/** * 功能:输出移位运算符的操作 * 时间: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; }
【ThinkingInC++】13、输出移位运算符的操作,布布扣,bubuko.com
原文地址:http://blog.csdn.net/cutter_point/article/details/38520059