JavaScript Bitwise Operations

জাভাস্ক্রিপ্ট বিটওয়াইজ ফাংশন

কম্পিউটারে বিট

কম্পিউটার বাইনারি বিন্যাসে (0s এবং 1s) ডেটা সঞ্চয় করে। এই 0 বা 1 এর প্রতিটিকে বিট বলা হয়।

জাভাস্ক্রিপ্ট বিটওয়াইজ অপারেশন হল গাণিতিক ক্রিয়াকলাপ যা এই বিটগুলিতে কাজ করে।

💡বিট কি?

বিট = বাইনারি ডিজিট। এটি একটি কম্পিউটারে ডেটার ক্ষুদ্রতম একক। একটি বিট শুধুমাত্র 0 বা 1 মান নিতে পারে।

জাভাস্ক্রিপ্ট বিটওয়াইজ অ্যাপ্লিকেশন

অ্যাপ নাম ব্যাখ্যা
& AND প্রতিটি বিটকে 1 করে তোলে শুধুমাত্র যদি উভয় বিট 1 হয়
| OR প্রতিটি বিটকে 1 করে তোলে যদি দুটি বিটের যেকোনো একটি 1 হয়
^ XOR দুটি বিট ভিন্ন হলেই প্রতিটি বিটকে 1 করে
~ NOT সব বিট বিপরীত
<< Zero fill left shift শূন্য ডান দিক থেকে বাম দিকে স্থানান্তর করে, বামদিকের বিটগুলিকে মুক্ত রেখে
>> Signed right shift বামদিকের বিটের কপি বাম থেকে ডানে স্থানান্তর করে, ডানদিকের বিটগুলিকে মুক্ত রেখে
>>> Zero fill right shift শূন্যগুলিকে বাম থেকে ডানে স্থানান্তর করে, ডানদিকের বিটগুলিকে মুক্ত রেখে৷

উদাহরণ

ফাংশন উপসংহার অনুরূপ উপসংহার
5 & 1 1 0101 & 0001 0001
5 | 1 5 0101 | 0001 0101
~ 5 10 ~0101 1010
5 << 1 10 0101 << 1 1010
5 ^ 1 4 0101 ^ 0001 0100
5 >> 1 2 0101 >> 1 0010
5 >>> 1 2 0101 >>> 1 0010

জাভাস্ক্রিপ্ট 32 বিট ব্যবহার করে

জাভাস্ক্রিপ্ট নম্বরগুলিকে 64-বিট ফ্লোটিং-পয়েন্ট নম্বর হিসাবে সঞ্চয় করে, তবে সমস্ত বিটওয়াইজ অপারেশন 32-বিট বাইনারি সংখ্যাগুলিতে সঞ্চালিত হয়।

একটি বিটওয়াইজ অপারেশন করার আগে, জাভাস্ক্রিপ্ট সংখ্যাগুলিকে 32-বিট স্বাক্ষরিত পূর্ণসংখ্যাতে রূপান্তর করে।

বিটওয়াইজ অপারেশন সঞ্চালিত হওয়ার পরে, ফলাফলটি 64 বিট জাভাস্ক্রিপ্ট নম্বরে রূপান্তরিত হয়।

⚠️4 বিট বনাম 32 বিট:

উপরের উদাহরণগুলি 4 বিট স্বাক্ষরবিহীন বাইনারি সংখ্যা ব্যবহার করে। এই কারণেই ~ 5, 10 প্রদান করে।

যেহেতু জাভাস্ক্রিপ্ট 32-বিট স্বাক্ষরিত পূর্ণসংখ্যা ব্যবহার করে, এটি 10 ​​ফেরত দেয় না। এটি -6 প্রদান করবে।

// 32 বিট বাইনারি উপস্থাপনা
00000000000000000000000000000101 (5)

// বিটওয়াইজ নয় (~5)
11111111111111111111111111111010 (~5 = -6)

একটি স্বাক্ষরিত পূর্ণসংখ্যা বিয়োগ চিহ্ন হিসাবে বামদিকের বিট ব্যবহার করে।

বিটওয়াইজ অপারেশন

বিটওয়াইজ এবং (&)

উভয় বিট 1 হলে শুধুমাত্র 1 প্রদান করে:

5 (বাইনারী) 00000101
1 (বাইনারী) 00000001
5 & 1 00000001 (1)

বিটওয়াইজ বা (|)

দুটি বিটের যেকোনো একটি 1 হলে 1 প্রদান করে:

5 (বাইনারী) 00000101
1 (বাইনারী) 00000001
5 | 1 00000101 (5)

বিটওয়াইজ XOR (^)

দুটি বিট ভিন্ন হলে 1 প্রদান করে:

5 (বাইনারী) 00000101
1 (বাইনারী) 00000001
5 ^ 1 00000100 (4)

বিটওয়াইজ নয় (~)

সমস্ত বিট বিপরীত:

5 (বাইনারী) 00000101
~5 11111010 (-6)

লাইভ ডেমো

বেসিক বিটওয়াইজ অপারেশন

উপসংহার:

শিফট অপারেশন

উপসংহার:

বরাদ্দ প্রসেসর

পরিবর্তনশীল মান:

বাইনারি সংখ্যা

শুধুমাত্র এক বিট সেট সহ বাইনারি সংখ্যাগুলি বোঝা সহজ:

বাইনারি উপস্থাপনা দশমিক মান
00000000000000000000000000000001 1
00000000000000000000000000000010 2
00000000000000000000000000000100 4
00000000000000000000000000001000 8
00000000000000000000000000010000 16

আরও কয়েকটি বিট সেট করা বাইনারি পদ্ধতিটি প্রকাশ করে:

বাইনারি উপস্থাপনা দশমিক মান
00000000000000000000000000000101 5 (4 + 1)
00000000000000000000000000001101 13 (8 + 4 + 1)
00000000000000000000000000101101 45 (32 + 8 + 4 + 1)
পৃথিবীতে মাত্র 10 ধরনের মানুষ আছে: যারা বাইনারি বোঝে এবং যারা বোঝে না।
(10 in binary = 2 in decimal)

রূপান্তর ফাংশন

দশমিককে বাইনারিতে রূপান্তর করুন

function dec2bin(dec) {
  return (dec >>> 0).toString(2);
}

বাইনারিকে দশমিকে রূপান্তর করুন

function bin2dec(bin) {
  return parseInt(bin, 2).toString(10);
}

রূপান্তর ডেমো

রূপান্তর ফলাফল:

জাভাস্ক্রিপ্ট টিউটোরিয়াল

এই টিউটোরিয়ালের অনেক অধ্যায় ব্যায়ামের সাথে শেষ হয় যা আপনার জ্ঞানের স্তর পরীক্ষা করতে পারে।

বাইনারি সংখ্যা 010 কোন সংখ্যার প্রতিনিধিত্ব করে?

0
প্রথম বিট
1
দ্বিতীয় বিট
0
তৃতীয় বিট
1
✗ ভুল! বাইনারিতে 1 হল 001
2
✓ ঠিক আছে! 010 = (0×4) + (1×2) + (0×1) = 2
10
✗ ভুল! 10 একটি দশমিক সংখ্যা। বাইনারি 010 দশমিক 2 এর সমতুল্য