عملگرهای بیتی در پایتون
![عملگرهای بیتی در پایتون](https://dl.academypython.ir/python_course/Python-Bitwise-Operators_Qwl9969.jpg)
عملگرهای بیتی در پایتون به شما این امکان را میدهند که عملیاتهای بیتی روی اعداد صحیح انجام دهید. این عملگرها با بیتهای مختلف از یک عدد کار میکنند و نتیجه را در قالب یک عدد صحیح جدید تولید میکنند.
عملگر بیتی AND (&):
عملگر "&" با استفاده از انجام عملیات "و" بین دو عدد، بیتهای مشابه را با هم مقایسه کرده و نتیجه را تولید میکند. در نتیجه، اگر هر دو عدد در یک موقعیت بیتی 1 باشند، نتیجه آن موقعیت 1 خواهد بود؛ در غیر این صورت نتیجه 0 خواهد بود.
مثال:
a = 5 # معادله باینری: 101
b = 3 # معادله باینری: 011
result = a & b
print(result) # خروجی: 1 (در معادله باینری: 001)
عملگر OR ( | ):
عملگر "|" با استفاده از انجام عملیات "یا" بین دو عدد، بیتهای مشابه را با هم مقایسه کرده و نتیجه را تولید میکند. در نتیجه، اگر حداقل یکی از دو عدد در یک موقعیت بیتی 1 باشند، نتیجه آن موقعیت 1 خواهد بود؛ در غیر این صورت نتیجه 0 خواهد بود.
مثال:
a = 5 # معادله باینری: 101
b = 3 # معادله باینری: 011
result = a | b
print(result) # خروجی: 7 (در معادله باینری: 111)
عملگر XOR (^):
عملگر "^" با استفاده از انجام عملیات "یا منطقی نیمهتنها" (XOR) بین دو عدد، بیتهای مشابه را با هم مقایسه کرده و نتیجه را تولید میکند. در نتیجه، اگر تنها یکی از دو عدد در یک موقعیت بیتی 1 باشد، نتیجه آن موقعیت 1 خواهد بود؛ در صورتی که هر دو یا هیچکدام 1 نباشند، نتیجه 0 خواهد بود.
مثال:
a = 5 # معادله باینری: 101
b = 3 # معادله باینری: 011
result = a ^ b
print(result) # خروجی: 6 (در معادله باینری: 110)
عملگر NOT (~):
عملگر "~" با استفاده از انجام عملیات "نقیض" (NOT) بر روی یک عدد، تمام بیتهای آن را معکوس میکند (از 1 به 0 و از 0 به 1). توجه داشته باشید که این عملگر به تنهایی عمل میکند و نیازی به دو عدد ندارد.
مثال:
a = 5 # معادله باینری: 101
result = ~a
print(result) # خروجی: -6 (در معادله باینری: 11111111111111111111111111111010)
عملگر Shift Left Bitwise (>>):
عملگر ">>" برای شیفت (جابهجایی) بیتهای یک عدد به سمت چپ استفاده میشود. این عملگر یک عدد و یک تعداد بیت انتقال میدهد و تمام بیتها را به چپ بر اساس تعداد مشخص شده منتقل میکند. این عملگر به تبدیل یک عدد به مقدار دو برابر بزرگتر کمک میکند.
مثال:
a = 5 # معادله باینری: 101
result = a << 2
print(result) # خروجی: 20 (در معادله باینری: 10100)
عملگر Shift Right Bitwise (<<):
عملگر "<<" برای شیفت (جابهجایی) بیتهای یک عدد به سمت راست استفاده میشود. این عملگر یک عدد و یک تعداد بیت انتقال میدهد و تمام بیتها را به راست بر اساس تعداد مشخص شده منتقل میکند. این عملگر به تبدیل یک عدد به مقدار دو تقسیم بر توانهای دو کمک میکند.
مثال:
a = 20 # معادله باینری: 10100
result = a >> 2
print(result) # خروجی: 5 (در معادله باینری: 101)
این دو عملگر "<<" و ">>" برای انجام شیفت بیتی و تغییر طول عدد به کار میروند و در برنامهنویسی میکروکنترلرها، کار با دادههای دودویی و موارد مشابه مفید هستند. همچنین این عملگرهای Bitwise به شما امکان کنترل دقیقتری بر روی بیتهای دادههای عددی میدهند و در بسیاری از موارد مفید هستند، به ویژه در برنامهنویسی سیستمهای دیجیتال و کار با دادههای پیکسل تصاویر.