What is Bitwise Operator in C Language
Bitwise Operator in C -सी . में बिटवाइज़ ऑपरेटर
What is Bitwise Operator in C Language
बिटवाइज़ ऑपरेटर वे ऑपरेटर होते हैं जिनका उपयोग बिट-स्तर पर डेटा पर संचालन करने के लिए किया जाता है। जब हम बिटवाइज़ ऑपरेशन करते हैं, तो इसे बिट-लेवल प्रोग्रामिंग के रूप में भी जाना जाता है। इसमें दो अंक होते हैं, या तो 0 या 1। इसका उपयोग मुख्य रूप से गणनाओं को तेज करने के लिए संख्यात्मक संगणनाओं में किया जाता है।
सी प्रोग्रामिंग भाषा में हमारे पास विभिन्न प्रकार के बिटवाइज़ ऑपरेटर हैं। बिटवाइज़ ऑपरेटरों की सूची निम्नलिखित है: ( Bitwise Operator in C )
Operator | Meaning of operator |
---|---|
& | Bitwise AND operator |
| | Bitwise OR operator |
^ | Bitwise exclusive OR operator |
~ | One's complement operator (unary operator) |
<< | Left shift operator |
>> | Right shift operator |
आइए बिटवाइज़ ऑपरेटरों की सत्य तालिका देखें।
X | Y | X&Y | X|Y | X^Y |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 1 |
Bitwise AND operator -बिटवाइज़ और ऑपरेटर
बिटवाइज़ AND ऑपरेटर को सिंगल एम्परसेंड साइन (&) द्वारा दर्शाया जाता है। (&) ऑपरेटर के दोनों ओर दो पूर्णांक ऑपरेंड लिखे जाते हैं। यदि दोनों ऑपरेंड के संगत बिट्स 1 हैं, तो बिटवाइज़ और ऑपरेशन का आउटपुट 1 है; अन्यथा, आउटपुट 0 होगा।
For example,
We have two variables a and b.
a =6;
b=4;
The binary representation of the above two variables are given below:
a = 0110
b = 0100
When we apply the bitwise AND operation in the above two variables, i.e., a&b, the output would be: ( Bitwise Operator in C )
Result = 0100
जैसा कि हम उपरोक्त परिणाम से देख सकते हैं कि दोनों चर के बिट्स की एक-एक करके तुलना की जाती है। यदि दोनों चरों का बिट 1 है तो आउटपुट 1 होगा अन्यथा 0.
आइए प्रोग्राम के माध्यम से बिटवाइज और ऑपरेटर को समझते हैं।
#include <stdio.h>
int main()
{
int a=6, b=14; // variable declarations
printf("The output of the Bitwise AND operator a&b is %d",a&b);
return 0;
}
उपरोक्त कोड में, हमने दो वेरिएबल्स, यानी 'ए' और 'बी' बनाए हैं। 'ए' और 'बी' के मान क्रमशः 6 और 14 हैं। 'ए' और 'बी' का बाइनरी मान क्रमशः 0110 और 1110 है। जब हम इन दो चरों के बीच AND ऑपरेटर लागू करते हैं,
a AND b = 0110 && 1110 = 0110
Output:-
Bitwise OR operator -बिटवाइज़ या ऑपरेटर
बिटवाइज़ OR ऑपरेटर को सिंगल वर्टिकल साइन (|) द्वारा दर्शाया जाता है। (|) चिन्ह के दोनों ओर दो पूर्णांक संकार्य लिखे जाते हैं। यदि किसी ऑपरेंड का बिट मान 1 है, तो आउटपुट 1 होगा अन्यथा 0.
For example,
We consider two variables,
a = 23;
b = 10;
The binary representation of the above two variables would be:
a = 0001 0111
b = 0000 1010
When we apply the bitwise OR operator in the above two variables, i.e., a|b , then the output would be:
Result = 0001 1111
जैसा कि हम उपरोक्त परिणाम से देख सकते हैं कि दोनों ऑपरेंड के बिट्स की एक-एक करके तुलना की जाती है; यदि दोनों में से किसी एक बिट का मान 1 है, तो आउटपुट 1 होगा अन्यथा 0.
आइए एक प्रोग्राम के माध्यम से बिटवाइज OR ऑपरेटर को समझते हैं।
#include <stdio.h>
int main()
{
int a=23,b=10; // variable declarations
printf("The output of the Bitwise OR operator a|b is %d",a|b);
return 0;
}
Output:-
Bitwise exclusive OR operator -बिटवाइज़ एक्सक्लूसिव या ऑपरेटर
बिटवाइज़ एक्सक्लूसिव OR ऑपरेटर को (^) चिन्ह द्वारा दर्शाया जाता है। एक्सक्लूसिव OR ऑपरेटर के दोनों ओर दो ऑपरेंड लिखे जाते हैं। यदि किसी ऑपरेंड का संगत बिट 1 है तो आउटपुट 1 होगा अन्यथा 0. ( Bitwise Operator in C )
For example,
We consider two variables a and b,
a = 12;
b = 10;
The binary representation of the above two variables would be:
a = 0000 1100
b = 0000 1010
When we apply the bitwise exclusive OR operator in the above two variables (a^b), then the result would be:
Result = 0000 1110
जैसा कि हम उपरोक्त परिणाम से देख सकते हैं कि दोनों ऑपरेंड के बिट्स की एक-एक करके तुलना की जाती है; यदि किसी ऑपरेंड का संगत बिट मान 1 है, तो आउटपुट 1 होगा अन्यथा 0।
आइए एक प्रोग्राम के माध्यम से बिटवाइज़ एक्सक्लूसिव OR ऑपरेटर को समझते हैं।
#include <stdio.h>
int main()
{
int a=12,b=10; // variable declarations
printf("The output of the Bitwise exclusive OR operator a^b is %d",a^b);
return 0;
}
Output:-
Bitwise complement operator -बिटवाइज पूरक ऑपरेटर
बिटवाइज़ पूरक ऑपरेटर को किसी के पूरक ऑपरेटर के रूप में भी जाना जाता है। इसे प्रतीक टिल्ड (~) द्वारा दर्शाया जाता है। यह केवल एक ऑपरेंड या वेरिएबल लेता है और एक ऑपरेंड पर पूरक ऑपरेशन करता है। जब हम किसी भी बिट पर पूरक संक्रिया लागू करते हैं, तो 0 1 बन जाता है और 1 0 हो जाता है।
For example,
If we have a variable named 'a',
a = 8;
The binary representation of the above variable is given below:
a = 1000
When we apply the bitwise complement operator to the operand, then the output would be:
Result = 0111
जैसा कि हम उपरोक्त परिणाम से देख सकते हैं कि यदि बिट 1 है, तो यह 0 और 1 में बदल जाता है।
आइए एक प्रोग्राम के माध्यम से कॉम्प्लिमेंट ऑपरेटर को समझते हैं।
#include <stdio.h>
int main()
{
int a=8; // variable declarations
printf("The output of the Bitwise complement operator ~a is %d",~a);
return 0;
}
Output:-
Bitwise shift operators -बिटवाइज़ शिफ्ट ऑपरेटर्स
C प्रोग्रामिंग में दो प्रकार के बिटवाइज़ शिफ्ट ऑपरेटर मौजूद होते हैं। बिटवाइज़ शिफ्ट ऑपरेटर्स बिट्स को लेफ्ट-साइड या राइट-साइड पर शिफ्ट करेंगे। इसलिए, हम कह सकते हैं कि बिटवाइज़ शिफ्ट ऑपरेटर को दो श्रेणियों में बांटा गया है:
Left-shift operator -लेफ्ट-शिफ्ट ऑपरेटर
Right-shift operator -राइट-शिफ्ट ऑपरेटर
Left-shift operator -लेफ्ट-शिफ्ट ऑपरेटर
यह एक ऑपरेटर है जो बिट्स की संख्या को बाईं ओर शिफ्ट करता है।
लेफ्ट-शिफ्ट ऑपरेटर का सिंटैक्स नीचे दिया गया है:
Operand << n
कहां,
ऑपरेंड एक पूर्णांक अभिव्यक्ति है जिस पर हम लेफ्ट-शिफ्ट ऑपरेशन लागू करते हैं।
n स्थानांतरित किए जाने वाले बिट्स की संख्या है।
लेफ्ट-शिफ्ट ऑपरेटर के मामले में, 'n' बिट्स को लेफ्ट-साइड पर शिफ्ट किया जाएगा। बाईं ओर 'n' बिट्स पॉप आउट हो जाएंगे, और दाईं ओर 'n' बिट्स 0 से भर जाएंगे।
For example,
Suppose we have a statement:
int a = 5;
The binary representation of 'a' is given below:
a = 0101
If we want to left-shift the above representation by 2, then the statement would be:
a << 2;
0101<<2 = 00010100
आइए एक प्रोग्राम के माध्यम से समझते हैं।
#include <stdio.h>
int main()
{
int a=5; // variable initialization
printf("The value of a<<2 is : %d ", a<<2);
return 0;
}
Output:-
Right-shift operator -राइट-शिफ्ट ऑपरेटर
यह एक ऑपरेटर है जो बिट्स की संख्या को दाईं ओर शिफ्ट करता है।
राइट-शिफ्ट ऑपरेटर का सिंटैक्स नीचे दिया गया है:
Operand >> n;
कहां,
संकार्य एक पूर्णांक व्यंजक है जिस पर हम दायाँ-शिफ्ट संक्रिया लागू करते हैं।
एन स्थानांतरित किए जाने वाले बिट्स की संख्या है।
राइट-शिफ्ट ऑपरेटर के मामले में, 'एन' बिट्स को दाईं ओर शिफ्ट किया जाएगा। दाईं ओर 'n' बिट्स पॉप आउट हो जाएंगे, और बाईं ओर 'n' बिट्स 0 से भर जाएंगे।
For example,
Suppose we have a statement,
int a = 7;
The binary representation of the above variable would be:
a = 0111
If we want to right-shift the above representation by 2, then the statement would be:
a>>2;
0000 0111 >> 2 = 0000 0001
आइए एक प्रोग्राम के माध्यम से समझते हैं। ( Bitwise Operator in C )
#include <stdio.h>
int main()
{
int a=7; // variable initialization
printf("The value of a>>2 is : %d ", a>>2);
return 0;
}
Output:-