عملگرهای بیتی در پایتون


عملگرهای بیتی در پایتون به شما این امکان را می‌دهند که عملیات‌های بیتی روی اعداد صحیح انجام دهید. این عملگرها با بیت‌های مختلف از یک عدد کار می‌کنند و نتیجه را در قالب یک عدد صحیح جدید تولید می‌کنند.

عملگر بیتی 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 به شما امکان کنترل دقیق‌تری بر روی بیت‌های داده‌های عددی می‌دهند و در بسیاری از موارد مفید هستند، به ویژه در برنامه‌نویسی سیستم‌های دیجیتال و کار با داده‌های پیکسل تصاویر.