Bitwise Operators
Bitwise Operators అంటే ఏమిటి?
Bitwise Operators integers లోని binary bits పై operations చేయడానికి ఉపయోగిస్తారు. ప్రతి integer binary రూపంలో 0 మరియు 1లతో తయారవుతుంది. Python ఒక integer ను binary bits గా పరిగణించి ప్రతి bit పై operation చేస్తుంది.
Bitwise Operators ఎందుకు ఉపయోగిస్తారు?
Bitwise Operators ను low-level programming, permissions, flags, embedded systems, networking మరియు performance-based programming లో ఉపయోగిస్తారు. సాధారణ beginner programs లో వీటి అవసరం తక్కువగా ఉన్నా, computer లో data bits ఎలా పనిచేస్తాయో అర్థం చేసుకోవడానికి ఇవి చాలా ఉపయోగకరం.
Python లోని ప్రధాన Bitwise Operators
- & Bitwise AND: రెండు bits కూడా 1 అయితే మాత్రమే 1 ఇస్తుంది.
- | Bitwise OR: కనీసం ఒక bit 1 అయితే 1 ఇస్తుంది.
- ^ Bitwise XOR: రెండు bits వేర్వేరుగా ఉంటే 1 ఇస్తుంది.
- ~ Bitwise NOT: bits ను మార్చుతుంది. Python లో దీని ఫలితం negative value కావచ్చు.
- << Left Shift: bits ను ఎడమవైపు shift చేస్తుంది.
- >> Right Shift: bits ను కుడివైపు shift చేస్తుంది.
Binary లో ఎలా పనిచేస్తాయి?
ఉదాహరణకు, 12 యొక్క binary రూపం 1100 మరియు 5 యొక్క binary రూపం 0101.
12 & 5 లో ప్రతి స్థానంలోని bits ను పోల్చితే 0100 వస్తుంది. 0100 యొక్క decimal విలువ 4.
12 | 5 లో కనీసం ఒక bit 1 ఉన్న ప్రతి స్థానంలో 1 వస్తుంది. అందువల్ల ఫలితం 1101, అంటే 13.
12 ^ 5 లో bits వేర్వేరుగా ఉన్న స్థానాల్లో 1 వస్తుంది. ఫలితం 1001, అంటే 9.
Shift Operators
12 << 1 అంటే 12 యొక్క bits ను ఒక స్థానం ఎడమకు shift చేయడం. సాధారణంగా ఇది 12 ను 2తో గుణించినట్లుగా, అంటే 24గా కనిపిస్తుంది.
12 >> 2 అంటే bits ను రెండు స్థానాలు కుడికి shift చేయడం. Positive integer కోసం ఇది 12 ను 4తో భాగించినట్లుగా, అంటే 3గా కనిపిస్తుంది.
Simple Explanation
Bitwise Operators integers ను నేరుగా decimal digits గా కాకుండా binary bits గా చూస్తాయి. & రెండు bits 1 అయితే 1 ఇస్తుంది. | ఏదైనా ఒక bit 1 అయితే 1 ఇస్తుంది. ^ bits వేర్వేరుగా ఉంటే 1 ఇస్తుంది. ~ bits ను invert చేస్తుంది. << bits ను ఎడమకు, >> bits ను కుడికి shift చేస్తాయి.
Real-Life Example
ఒక application లో user permissions ను bits గా నిల్వ చేశామని అనుకుందాం. ఒక bit చదవడానికి & ఉపయోగించవచ్చు. ఒక permission ను కలపడానికి | ఉపయోగించవచ్చు. రెండు permission settings వేర్వేరుగా ఉన్నాయా అని తెలుసుకోవడానికి ^ ఉపయోగించవచ్చు. ఇలా ఒక integer లో అనేక yes/no settings ను తక్కువ memoryతో నిల్వ చేయవచ్చు.
Code Examples
అన్ని ప్రధాన Bitwise Operators
a = 12
b = 5
print(a & b)
print(a | b)
print(a ^ b)
print(~a)
print(a <> 2)
ఈ program లో 12 మరియు 5 అనే integers పై ఆరు Bitwise Operators ను ఉపయోగించాం. ప్రతి operator binary bits పై పనిచేసి ఒక integer result ను ఇస్తుంది.
4 13 9 -13 24 3
Line-by-Line Explanation
ఈ line లో a అనే variable లో 12 ను store చేస్తుంది. తరువాతి bitwise operations లో a value ఉపయోగించబడుతుంది.
ఈ line లో b అనే variable లో 5 ను store చేస్తుంది. a మరియు b values ను పరస్పరం bitwise గా పోల్చడానికి ఇది ఉపయోగపడుతుంది.
ఈ line Bitwise AND operation చేస్తుంది. 12 మరియు 5 binary bits లో రెండు స్థానాల్లో 1 ఉన్న చోట మాత్రమే 1 ఉంచి, result 4 ను print చేస్తుంది.
ఈ line Bitwise OR operation చేస్తుంది. ప్రతి bit స్థానంలో కనీసం ఒక value 1 ఉంటే 1 ఉంచి, result 13 ను print చేస్తుంది.
ఈ line Bitwise XOR operation చేస్తుంది. రెండు bits వేర్వేరుగా ఉన్న స్థానాల్లో 1 ఉంచి, result 9 ను print చేస్తుంది.
ఈ line Bitwise NOT operation చేస్తుంది. a లోని bits ను invert చేస్తుంది. Python లో integer rule ప్రకారం ~12 ఫలితం -13 అవుతుంది.
ఈ line a యొక్క bits ను ఒక స్థానం ఎడమకు shift చేస్తుంది. 12 << 1 ఫలితం 24గా print అవుతుంది.
ఈ line a యొక్క bits ను రెండు స్థానాలు కుడికి shift చేస్తుంది. Positive value అయిన 12 కోసం result 3గా print అవుతుంది.
Try It
Try this Python code:
a = 6
b = 3
print(a & b)
print(a | b)
print(a ^ b)
Practice
Practice: 10 మరియు 3 values కోసం Bitwise AND, OR, XOR operations చేయండి. తరువాత 10 ను 2 positions left shift చేయండి మరియు 3 ను 1 position right shift చేయండి. అన్ని results ను print చేయండి.
Hint:
మీరు &, |, ^, << మరియు >> operators ను ఉపయోగించాలి.
Practice: a = 12 మరియు b = 5 values కోసం a & b, a | b, a ^ b results ను ముందుగా ఊహించి, తరువాత Python లో check చేయండి.
Hint:
12 యొక్క binary రూపం 1100, 5 యొక్క binary రూపం 0101 అని ఉపయోగించండి.
Common Mistakes
and మరియు & ఒకటే అని అనుకోవడం.
and logical operator. & Bitwise AND operator. Bitwise operation కోసం & ఉపయోగించాలి.
^ ను power operator అని అనుకోవడం.
Python లో power కోసం ** ఉపయోగిస్తారు. ^ అనేది Bitwise XOR operator.
~a result ఎప్పుడూ positive అవుతుందని అనుకోవడం.
Python లో Bitwise NOT operation వల్ల negative result రావచ్చు. ఉదాహరణకు ~12 result -13.
Shift operator తరువాతి సంఖ్యను bit value గా కాకుండా సాధారణ addition లేదా subtraction గా అర్థం చేసుకోవడం.
<< bits ను ఎడమకు, >> bits ను కుడికి shift చేస్తాయి. ఇవి binary representation పై పనిచేస్తాయి.
Bitwise operators ను strings పై ఉపయోగించడానికి ప్రయత్నించడం.
ఈ lesson లో Bitwise Operators ను integers పై ఉపయోగించాలి. ముందుగా values integer type లో ఉన్నాయో check చేయండి.
Interview Questions
Python లో Bitwise Operators అంటే ఏమిటి?
Answer: Integers యొక్క binary bits పై operations చేసే operators ను Bitwise Operators అంటారు.
Bitwise AND operator ఏది? అది ఎలా పనిచేస్తుంది?
Answer: & Bitwise AND operator. రెండు values లోని ఒకే bit position వద్ద రెండు bits కూడా 1 అయితే మాత్రమే result bit 1 అవుతుంది.
Bitwise OR మరియు XOR మధ్య తేడా ఏమిటి?
Answer: | OR లో కనీసం ఒక bit 1 అయితే result 1 అవుతుంది. ^ XOR లో రెండు bits వేర్వేరుగా ఉంటే మాత్రమే result 1 అవుతుంది.
Python లో 12 << 1 result ఏమిటి?
Answer: Result 24. Bits ను ఒక స్థానం ఎడమకు shift చేయడం వల్ల positive integer ను 2తో గుణించినట్లుగా కనిపిస్తుంది.
Python లో ~12 result ఏమిటి?
Answer: Result -13. Bitwise NOT operation Python integer representation rule ప్రకారం ~n ను -(n + 1)గా ఇస్తుంది.
Exam Questions
12 & 5 యొక్క output ఏమిటి?
Answer:
4
12 | 5 యొక్క output ఏమిటి?
Answer:
13
12 ^ 5 యొక్క output ఏమిటి?
Answer:
9
Bitwise left shift operator ఏది?
Answer:
<<
Bitwise right shift operator ఏది?
Answer:
>>
Quick Revision
- Bitwise Operators integers యొక్క binary bits పై పనిచేస్తాయి.
&అంటే Bitwise AND.|అంటే Bitwise OR.^అంటే Bitwise XOR.~అంటే Bitwise NOT.<<bits ను ఎడమకు shift చేస్తుంది.>>bits ను కుడికి shift చేస్తుంది.^power operator కాదు; power కోసం**ఉపయోగించాలి.~operation వల్ల negative result రావచ్చు.
