পাইথনে বিটওয়াইজ অপারেটর ব্যবহার করে বাইনারি বা বিট স্তরের অপারেশন করা হয়। বিটওয়াইজ অপারেটর সাধারণত দুটি পূর্ণসংখ্যার উপর কাজ করে এবং তাদের বাইনারি প্রতিনিধিত্বের উপর ভিত্তি করে বিট স্তরে বিভিন্ন ধরণের গাণিতিক কাজ সম্পন্ন করে। নিচে পাইথনের প্রধান বিটওয়াইজ অপারেটরগুলো এবং তাদের উদাহরণ দেওয়া হলো।
বিটওয়াইজ অপারেটরগুলোর তালিকা
AND (&) : উভয় বিটই ১ হলে আউটপুট ১ হয়।
a = 5 # 0101
b = 3 # 0011
result = a & b # 0001 (1)
OR (|) : যেকোনো একটি বিট ১ হলে আউটপুট ১ হয়।
a = 5 # 0101
b = 3 # 0011
result = a | b # 0111 (7)
XOR (^) : দুটি বিট ভিন্ন হলে আউটপুট ১ হয়, একই হলে ০।
a = 5 # 0101
b = 3 # 0011
result = a ^ b # 0110 (6)
NOT (~) : প্রতিটি বিটকে উল্টে দেয়, ১ কে ০ এবং ০ কে ১ করে।
a = 5 # 0101
result = ~a # 1010 (-6, কারণ এটি টু’স কমপ্লিমেন্টে কাজ করে)
বাম শিফট (<<) : নির্দিষ্ট সংখ্যক বিট বাম দিকে সরিয়ে দেয়, যা মানের দ্বিগুণ করে।
a = 5 # 0101
result = a << 1 # 1010 (10)
ডান শিফট (>>) : নির্দিষ্ট সংখ্যক বিট ডান দিকে সরিয়ে দেয়, যা মানের অর্ধেক করে।
a = 5 # 0101
result = a >> 1 # 0010 (2)
উদাহরণ সমন্বিত কোড
a = 5 # 0101 in binary
b = 3 # 0011 in binary
# AND
print("AND:", a & b) # Output: 1 (0001 in binary)
# OR
print("OR:", a | b) # Output: 7 (0111 in binary)
# XOR
print("XOR:", a ^ b) # Output: 6 (0110 in binary)
# NOT
print("NOT:", ~a) # Output: -6 (in two's complement, 1010 in binary)
# Left Shift
print("Left Shift:", a << 1) # Output: 10 (1010 in binary)
# Right Shift
print("Right Shift:", a >> 1) # Output: 2 (0010 in binary)
সারসংক্ষেপ
বিটওয়াইজ অপারেটর বাইনারি স্তরে কাজ করে এবং দ্রুত এবং কার্যকর উপায়ে সংখ্যা গণনা করতে সহায়ক। বিট স্তরে অপারেশন করা প্রোগ্রামের কর্মক্ষমতা উন্নত করে এবং কিছু নির্দিষ্ট সমস্যার সমাধানে সহজতর সমাধান প্রদান করে।