📄 prog3_04.cpp
字号:
// Program 3.4 Using the bitwise operators
#include <iostream>
#include <iomanip>
using std::cout;
using std::endl;
using std::setfill;
using std::setw;
int main() {
unsigned long red = 0XFF0000UL; // Color red
unsigned long white = 0XFFFFFFUL; // Color white - RGB all maximum
cout << std::hex; // Set hexadecimal output format
cout << setfill('0'); // Set fill character for output
cout << "\nTry out bitwise AND and OR operators.";
cout << "\nInitial value red = " << setw(8) << red;
cout << "\nComplement ~red = " << setw(8) << ~red;
cout << "\nInitial value white = " << setw(8) << white;
cout << "\nComplement ~white = " << setw(8) << ~white;
cout << "\n Bitwise AND red & white = " << setw(8) << (red & white);
cout << "\n Bitwise OR red | white = " << setw(8) << (red | white);
cout << "\n\nNow we can try out successive exclusive OR operations.";
unsigned long mask = red ^ white;
cout << "\n mask = red ^ white = " << setw(8) << mask;
cout << "\n mask ^ red = " << setw(8) << (mask ^ red);
cout << "\n mask ^ white = " << setw(8) << (mask ^ white);
unsigned long flags = 0xFF; // Flags variable
unsigned long bit1mask = 0x1; // Selects bit 1
unsigned long bit6mask = 0x20; // Selects bit 6
unsigned long bit20mask = 0x80000; // Selects bit 20
cout << "\n\nNow use masks to select or set a particular flag bit.";
cout << "\nSelect bit 1 from flags : " << setw(8) << (flags & bit1mask);
cout << "\nSelect bit 6 from flags : " << setw(8) << (flags & bit6mask);
cout << "\nSwitch off bit 6 in flags : " << setw(8) << (flags &= ~bit6mask);
cout << "\nSwitch on bit 20 in flags : " << setw(8) << (flags |= bit20mask);
cout << endl;
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -