Bitwise Operators

1️⃣ تعریف Bitwise Operator (عملگرهای بیتی)
عملگرهای بیتی بر روی اعداد صحیح (integer) کار می‌کنند و عملیات را بر روی نمایش دودویی (binary) آن‌ها انجام می‌دهند.

2️⃣ انواع عملگرهای بیتی

عملگرمثالتوضیح
&5 & 3AND → هر بیت که هر دو عدد 1 باشد، 1 می‌شود
```5
^5 ^ 3XOR → بیت‌هایی که فقط یکی 1 باشد، 1 می‌شود
~~5NOT → معکوس هر بیت (complement)
<<5 << 1شیفت چپ → بیت‌ها یک واحد به چپ می‌روند
>>5 >> 1شیفت راست → بیت‌ها یک واحد به راست با حفظ علامت
>>>5 >>> 1شیفت راست بدون حفظ علامت (unsigned)


3️⃣ مثال‌های عملی

let a = 5; // 0101 let b = 3; // 0011 console.log(a & b); // 1 → 0001 console.log(a | b); // 7 → 0111 console.log(a ^ b); // 6 → 0110 console.log(~a); // -6 → معکوس بیت‌ها console.log(a << 1); // 10 → 1010 console.log(a >> 1); // 2 → 0010 console.log(a >>> 1);// 2 → 0010

4️⃣ کاربردها

  • مدیریت Flags: ذخیره چند وضعیت در یک عدد

  • عملیات سطح پایین: مانند پردازش بیت‌ها و داده‌های باینری

  • بهینه‌سازی عملکرد: در برخی محاسبات ریاضی و الگوریتم‌ها

5️⃣ نکات مهم

  • Bitwise Operators همیشه اعداد صحیح ۳۲ بیتی را پردازش می‌کنند.

  • شیفت چپ << → مقدار عدد را در باینری بزرگتر می‌کند.

  • شیفت راست >> → مقدار عدد را کاهش می‌دهد و علامت را حفظ می‌کند.

  • شیفت راست بدون علامت >>> → علامت را نادیده می‌گیرد و همیشه مثبت است.