1. बिटवाइज &
ऑपरेटर
आम्ही पूर्वी सांगितले की सर्व डेटा बायनरी प्रतिनिधित्वात मेमरीमध्ये संग्रहित केला जातो. त्यामुळे फार पूर्वीपासून, प्रोग्रामर बायनरी संख्यांसह कार्य करण्याचे बरेच मनोरंजक मार्ग शोधून आले. उदाहरणार्थ, Java मध्ये लॉजिकल ऑपरेटर आहेत जे संख्येच्या बायनरी प्रतिनिधित्वाच्या बिट्सवर कार्य करतात: &
(AND), | (OR)
, ~
(नाही किंवा पूरक) आणि ^
(XOR - अनन्य किंवा).
a & b
हा ऑपरेटर लॉजिकल (AND) ऑपरेटर सारखाच आहे &
, फक्त तो एका अँपरसँडद्वारे दर्शविला जातो, दोन नव्हे:
आणि ते वैयक्तिक बिट्सवर लागू केले जाते. प्रत्येक ऑपरेंडला बिट्सच्या अॅरेप्रमाणे मानले जाते आणि दोन ऑपरेंडपैकी प्रत्येकाच्या व्या बिटचा i
वापर करून निकालाचा th बिट मोजला जातो .i
निकालाचा पहिला बिट क्रमांकाचा पहिला बिट a
आणि क्रमांकाचा पहिला बिट b
, दुसरा बिट — क्रमांकाच्या दुसऱ्या बिट a
आणि क्रमांकाच्या दुसऱ्या बिटच्या आधारे मोजला जाईल b
.
(AND) ऑपरेटर &
म्हणजे "संख्येचा संबंधित बिट एका बरोबरीचा असेल तरच परिणामी बिट a
एका AND
बरोबर b
असेल":
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
उदाहरणे:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
2. बिटवाइज |
ऑपरेटर
हा ऑपरेटर लॉजिकल (OR) ऑपरेटर सारखाच आहे |
, फक्त तो एका उभ्या रेषेने दर्शविला जातो, दोन नाही:
a | b
आणि ते वैयक्तिक बिट्सवर लागू केले जाते. प्रत्येक ऑपरेंडला बिट्सचे अॅरे मानले जाते आणि परिणामाचा ith बिट प्रत्येक दोन ऑपरेंडचा ith बिट वापरून मोजला जातो.
बिटवाइज |
(OR) ऑपरेटरचा अर्थ आहे "संख्येचा संबंधित बिट एक बरोबर असल्यास परिणामी बिट a
एक OR
बरोबर b
आहे":
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
उदाहरणे:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
जेव्हा दोन्ही संख्यांचे संबंधित बिट (समान स्थानावरील बिट्स) शून्य असतात तेव्हाच परिणामाचा संबंधित बिट शून्य असतो.
3. बिटवाइज ^
(XOR किंवा "अनन्य किंवा") ऑपरेटर
ऑपरेटर XOR
, ज्याचा उच्चार अनन्य किंवा , चिन्हाद्वारे केला जातो ^
. ते कीबोर्डवर एंटर करण्यासाठी, shift + 6 (इंग्रजी कीबोर्ड लेआउटवर) दाबा.
a ^ b
हे ऑपरेटर काहीसे ऑपरेटरसारखेच आहे OR
, ज्यामध्ये त्याचे समान नाव आहे:XOR
बिटवाइज ^
(XOR) ऑपरेटरचा अर्थ "संख्येचा संबंधित बिट एक बरोबर असल्यास परिणामी बिट a
एक बरोबर आहे आणि OR
संख्येचा संबंधित बिट b
एक बरोबर आहे परंतु एकाच वेळी दोन्ही नाही":
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
उदाहरणे:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
जेव्हा दोन्ही संख्यांचे संबंधित बिट्स (एकाच स्थानावरील बिट्स) भिन्न असतात तेव्हाच परिणामाचा संबंधित बिट एक बरोबर असतो . बिट्स समान असल्यास , परिणामी बिट शून्याच्या बरोबरीचे आहे .
4. बिटवाइज ~
(नाही, पूरक) ऑपरेटर
मला वाटते की ते काय करते याचा तुम्ही आधीच अंदाज लावू शकता. हा ऑपरेटर लॉजिकल (NOT) ऑपरेटर सारखाच आहे , परंतु तो tilde!
द्वारे दर्शविला जातो , उद्गारवाचक बिंदू नाही:
~a
हा एक युनरी ऑपरेटर आहे, याचा अर्थ ते दोन नव्हे तर एकाच संख्येला लागू होते. हे या सिंगल ऑपरेंडच्या आधी दिसते.
बिटवाइज ~
ऑपरेटरचा अर्थ "संख्येचा संबंधित बिट a
शून्य असल्यास परिणामी बिट एक आहे आणि त्या संख्येचा संबंधित बिट a
एक असल्यास तो शून्य आहे":
~1 = 0
~0 = 1
उदाहरणे:
उदाहरण | परिणाम |
---|---|
|
|
|
|
|
|
|
|
1
हा ऑपरेटर फक्त टू असलेले बिट आणि टू 0
असलेले बिट बदलतो .0
1
GO TO FULL VERSION