عملگرهای بیتی (Bitwise Operators)
عملگرهای بیتی (Bitwise) روی بیت ها کار می کنند؛ یعنی صفر و یک. این ها مثل فیلترهای ریزند که روی نمایش باینری عدد اثر می گذارند. برای بازی با پرچم ها، سطوح دسترسی و کارهای کم هزینه عالی اند.
تعریف کوتاه هر عملگر
& (AND): هر دو بیت 1 باشند، نتیجه 1 می شود. | (OR): یکی 1 باشد، نتیجه 1 می شود. ^ (XOR): فقط یکی 1 باشد، نتیجه 1 می شود. ~ (NOT): همه بیت ها برعکس می شوند. <<: شیفت چپ؛ صفر از راست می آید. >>: شیفت راست؛ بیت سمت چپ کپی می شود.
AND (وِ بیتی)
print(6 & 3)
OR (یا بیتی)
print(6 | 3)
XOR (یا-انحصاری)
print(6 ^ 3)
NOT (نقیض بیتی)
x = 6
print(~x)
شیفت چپ و راست
x = 6
print(x << 1)
print(x >> 1)
نکته: شیفت چپ مثل ضرب در توان های 2 است. شیفت راست شبیه تقسیم صحیح بر توان های 2 است.
گام های تمرینی سریع
- دو عدد کوچک انتخاب کن.
- نتیجه &، سپس | و بعد ^ را چاپ کن.
- یک مقدار را با ~ معکوس کن.
- با << و >> جابه جایی بیت ها را ببین.
هشدار: ~x در پایتون منفی دوگان تولید می کند؛ نتیجه ممکن است بزرگ منفی شود.
برای ترکیب شرط ها سراغ عملگرهای منطقی برو. برای اولویت اجرای عملگرهای بیتی در عبارات طولانی، بخش اولویت عملگرها را ببین.
جمع بندی سریع
- & برای مشترک هاست.
- | برای جمعِ پرچم هاست.
- ^ برای تفاوت هاست.
- ~ همه بیت ها را برعکس می کند.
- << و >> بیت ها را جابه جا می کنند.