বিটওয়াইজ অপারেটরের ব্যবহার কোথায়

জাভাস্ক্রিপ্ট বিটওয়াইজ অপারেটর (JavaScript Bitwise Operator) বিস্তারিত টিউটোরিয়াল

আমরা সাধারণত জাভাস্ক্রিপ্টে + – * / এই ধরণের অপারেটর ব্যবহার করে থাকি। কিন্তু বিটওয়াইজ অপারেটরগুলো একটু ভিন্ন রকম এবং এগুলো বাইনারি লেভেলে কাজ করে। অর্থাৎ প্রতিটি সংখ্যাকে বাইনারিতে রূপান্তর করে তারপর সেই বাইনারি ডেটার উপর অপারেশন চালায়।


বিটওয়াইজ অপারেটরসমূহ:

অপারেটর নাম ব্যাখ্যা
& AND দুই বিটই 1 হলে ফলাফল 1 হয়
| OR যেকোনো একটি বিট 1 হলে ফলাফল 1 হয়
^ XOR দুই বিট ভিন্ন হলে 1 হয়
~ NOT সব বিট উল্টে দেয় (1 → 0, 0 → 1)
<< Left Shift বিটগুলো বামদিকে সরানো হয়
>> Right Shift বিটগুলো ডানদিকে সরানো হয়

উদাহরণ সহ ব্যাখ্যা:

<script>
var a = 5; // 0101
var b = 3; // 0011
 

console.log(a & b); // Output: 1
console.log(a | b); // Output: 7
console.log(a ^ b); // Output: 6
console.log(~a); // Output: -6
console.log(a << 1); // Output: 10
console.log(a >> 1); // Output: 2
</script>

বিস্তারিত বিশ্লেষণ:

  • a & b: 0101 & 0011 = 0001 → 1
  • a | b: 0101 | 0011 = 0111 → 7
  • a ^ b: 0101 ^ 0011 = 0110 → 6
  • ~a: ~0101 = 1010 → -6 (JavaScript এ 2’s complement ব্যবহার করে)
  • a << 1: 0101 → 1010 = 10
  • a >> 1: 0101 → 0010 = 2

বিটওয়াইজ অপারেটরের ব্যবহার কোথায়?

এই অপারেটরগুলো সাধারনত পারফর্মেন্স-কেন্দ্রিক কাজ যেমন:

  • Encryption ও Compression
  • Game development
  • Graphics Programming
  • Permission System (Bit Masking)

বিট মাস্কিং (Bit Masking) এর সংক্ষিপ্ত উদাহরণ:

<script>
var read = 1; // 0001
var write = 2; // 0010
var execute = 4; // 0100
 

var permission = read | execute; // 0101
console.log(permission & write); // 0 (Write নেই)
console.log(permission & read); // 1 (Read আছে)
</script>

উপসংহার:

বিটওয়াইজ অপারেটরগুলো দেখতে কঠিন মনে হলেও বাস্তব জীবনের অনেক গুরুত্বপূর্ণ কাজের জন্য এগুলো অপরিহার্য। আপনি যদি পারফর্মেন্স-ক্রিটিক্যাল বা লো-লেভেল প্রোগ্রামিং করতে চান, তাহলে বিটওয়াইজ অপারেটরগুলো অবশ্যই শেখা উচিত।


Leave a Reply