কম্পিউটারে বিট
কম্পিউটার বাইনারি বিন্যাসে (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 প্রদান করবে।
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) |
রূপান্তর ফাংশন
দশমিককে বাইনারিতে রূপান্তর করুন
return (dec >>> 0).toString(2);
}
বাইনারিকে দশমিকে রূপান্তর করুন
return parseInt(bin, 2).toString(10);
}
রূপান্তর ডেমো
জাভাস্ক্রিপ্ট টিউটোরিয়াল
এই টিউটোরিয়ালের অনেক অধ্যায় ব্যায়ামের সাথে শেষ হয় যা আপনার জ্ঞানের স্তর পরীক্ষা করতে পারে।