C++ में 3 बिटवाइज ऑपरेटर्स उपलब्ध हैं। ये बिटवाइज AND (&), बिटवाइज OR (|) और बिटवाइज XOR (^) हैं।
बिटवाइज AND ऑपरेटर (&) पहले ऑपरेंड के प्रत्येक बिट की तुलना दूसरे ऑपरेंड के संबंधित बिट से करता है। यदि दोनों बिट्स 1 हैं, तो संबंधित परिणाम बिट 1 पर सेट होता है। अन्यथा, संबंधित परिणाम बिट 0 पर सेट होता है। बिटवाइज इन्क्लूसिव AND ऑपरेटर के दोनों ऑपरेंड्स इंटीग्रल प्रकार के होने चाहिए। उदाहरण के लिए:
उदाहरण
#include <iostream>
using namespace std;
int main() {
unsigned short a = 0x5555; // पैटर्न 0101 ...
unsigned short b = 0xAAAA; // पैटर्न 1010 ...
cout << hex << (a & b) << endl;
}
आउटपुट
यह निम्न आउटपुट देता है:
0
बिटवाइज OR ऑपरेटर (|) पहले ऑपरेंड के प्रत्येक बिट की तुलना दूसरे ऑपरेंड के संबंधित बिट से करता है। यदि कोई भी बिट 1 है, तो संबंधित परिणाम बिट 1 पर सेट होता है। अन्यथा, संबंधित परिणाम बिट 0 पर सेट होता है। बिटवाइज इन्क्लूसिव OR ऑपरेटर के दोनों ऑपरेंड्स इंटीग्रल प्रकार के होने चाहिए। उदाहरण के लिए:
उदाहरण
#include <iostream>
using namespace std;
int main() {
unsigned short a = 0x5555; // पैटर्न 0101 ...
unsigned short b = 0xAAAA; // पैटर्न 1010 ...
cout << hex << (a | b) << endl;
}
आउटपुट
यह निम्न आउटपुट देता है:
ffff
बिटवाइज एक्सक्लूसिव OR ऑपरेटर (^) अपने पहले ऑपरेंड के प्रत्येक बिट की तुलना अपने दूसरे ऑपरेंड के संबंधित बिट से करता है। यदि एक बिट 0 है और दूसरी बिट 1 है, तो संबंधित परिणाम बिट 1 पर सेट होता है। अन्यथा, संबंधित परिणाम बिट 0 पर सेट होता है। बिटवाइज एक्सक्लूसिव OR ऑपरेटर के दोनों ऑपरेंड्स इंटीग्रल प्रकार के होने चाहिए। उदाहरण के लिए:
उदाहरण
#include <iostream>
using namespace std;
int main() {
short a = 0x5555; // पैटर्न 0101 ...
unsigned short b = 0xFFFF; // पैटर्न 1111 ...
cout << hex << (a ^ b) << endl;
}
आउटपुट
यह निम्न आउटपुट देता है:
aaaa
जो पैटर्न 1010... को दर्शाता है।