বিটগুলির একটি পরিবর্তনশীল সংখ্যাটি 0 বা আরও বিটের একটি অ্যারে হয়। তাই [0, 1]
বিট একটি পরিবর্তনশীল সংখ্যা, কিন্তু তাই হয় []
।
একটি ক্রিয়াকলাপ বা প্রোগ্রাম লিখুন যা একটি nonnegative পূর্ণসংখ্যা প্রদান করে বিটগুলির একটি পরিবর্তনশীল সংখ্যার প্রতিদান দেয় যাতে প্রতিটি পূর্ণসংখ্যার একটি অ্যারে দিয়ে এক থেকে এক (বাইজিক) ম্যাপিং থাকে।
এই ধরনের ম্যাপিংগুলির সীমাহীন পরিমাণ রয়েছে, আপনি যেমন খুশি তেমন একটি নির্মান করতে পারেন তবে এটি অবশ্যই একে অপরের হতে হবে । তোমার ম্যাপিং আবশ্যক ধারণার দিক থেকে একের সাথে এক একটি পূর্ণসংখ্যা ইচ্ছামত আকারের হতে, কিন্তু আপনার যদি এটি ঠিক আছে বাস্তবায়ন আপনার পছন্দের ভাষায় ধরনের সংখ্যাসূচক সীমাবদ্ধতা থাকার কারণে বড় পূর্ণসংখ্যার ব্যর্থ (যেমন সি এর int
)।
ওয়ান-টু ওয়ান ম্যাপিং কী নয় এর উদাহরণ হিসাবে কেবল পূর্ণসংখ্যার বাইনারি অঙ্কগুলি তালিকাভুক্ত করা হচ্ছে। এই জাতীয় সিস্টেমে 5 টি [1, 0, 1]
(বা 0b101
) হয়ে যায় , তবে এটি এক-এক-এক নয়, কারণ 0b0101
বা এর [0, 1, 0, 1]
অর্থ 5ও।
এটি মোটামুটি সুস্পষ্ট হওয়া উচিত যে কোনও মানচিত্রটি যদি পূর্ণসংখ্যা এড়িয়ে যায় তবে এটি এক-এক-এক নয় (উদাহরণস্বরূপ এটি 5 এর জন্য কাজ করে না) তবে আমি এটি স্পষ্ট করে বলতে চাই যে ভেরিয়েবল বিট অ্যারে বাদ দেওয়াও এক নয় is -একজনের প্রতি. আপনাকে অবশ্যই প্রতিটি সম্ভাব্য চলক বিট অ্যারে মানচিত্র করতে হবে []
।
বাইটস মধ্যে সংক্ষিপ্ত কোড।