首页 > 代码库 > 【ThinkingInC++】13、输出移位运算符的操作
【ThinkingInC++】13、输出移位运算符的操作
头文件
/** * 功能:输出移位运算符的操作 * 时间: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; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。