public class Operators {
public static void main(String[] args) {
int a = 12;
System.out.println("Bitwise AND:"+(12&12));
System.out.println("Bitwise inclusive OR:"+(12|12));
System.out.println("Bitwise exclusive OR:"+(12^12));
}
}
OUTPUT:
Bitwise AND:12
Bitwise inclusive OR:12
Bitwise exclusive OR:0
मैं पहले दो समझता हूं, लेकिन तीसरा नहीं।
उत्तर:
उत्तर № 1 के लिए 16एक्सओआर बताता है कि प्रत्येक बिट अलग है या नहीं।
1 एक्सओआर 1 = 0
1 एक्सओआर 0 = 1
0 एक्सओआर 1 = 1
0 एक्सओआर 0 = 0
दूसरे शब्दों में "या तो दोनों नहीं बल्कि"
0011 एक्सओआर 0101 = 0110
जवाब के लिए 4 № 2
बिट्स शामिल या (|) सामान्य मतलब है या ऑपरेशन ,
बिटविस विशिष्ट या (^) का मतलब है XOR ऑपरेशन
जवाब के लिए 3 № 3
तीसरा एक एक्सओआर ऑपरेशन है (एक्सक्लूसिव-ओआर)
यह कहता है, या विशेष रूप से होना चाहिए: जहां समान होगा झूठा (0) और असमान होगा सच (1)।
तो द्विआधारी में 12 1100 होगा
तो, यहां bitwise XOR प्रदर्शन करें:
1 1 0 0
1 1 0 0
---------
0 0 0 0
---------
प्रत्येक कॉलम में एक ही अंक होता है, या तो दोनों 1 "या दोनों 0 हैं एक्सओआर कहते हैं, दोनों अलग होना चाहिए। इसलिए सभी शून्य
उत्तर के लिए 1 № 4
एकमात्र (XOR
) की तरह परिभाषित किया गया है:
0 ^ 0 = 0
1 ^ 0 = 1
0 ^ 1 = 1
1 ^ 1 = 0
यही है, यह है 0
जब दो मान समान होते हैं, 1
अगर वे अलग हैं।
इसलिए, दो बिट पैटर्न जो बिल्कुल बराबर हैं, प्रत्येक एक्सओआरडी बिट का मूल्यांकन किया जाएगा 0
, क्योंकि प्रत्येक बिट के पास या तो होगा 1
दोनों स्थितियों में, या 0
दोनों स्थितियों में।
उत्तर के लिए -2 № 5
क्योंकि आपके द्वारा उपयोग किए जाने वाले ऑपरेटर बिटवाई ऑपरेटर हैं, इसलिए ऑपरेंड परिवर्तित हो जाते हैं बिट्स के लिए और फिर ऑपरेटर उन पर कार्य करता है।
यहां 12 -> बाइनरी अंकों में 1100 (बिट्स)
और & (AND), | (OR) और ^ (एक्सक्लूसिव OR या XOR) ऑपरेटर के संचालन निम्नानुसार हैं:
एक बी एंड | ^
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
तो जब आप 12 ^ 12 प्रदर्शन कर रहे हैं:
एक = 1100
बी = 1100
ए बी ^
1 1 0
1 1 0
0 0 0
0 0 0
और 0000 -> 0 दशमलव प्रणाली में
इसलिए आपको अपने तीसरे उत्तर में 12 ^ 12 = 0 मिल रहे हैं