কম্পিউটার

জাভাস্ক্রিপ্টে একটি সংখ্যা স্ট্রিংকে 0 এবং 1 সেকেন্ডে এনকোড করা


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং নেয় যা দশমিক সংখ্যাকে প্রতিনিধিত্ব করে।

আমাদের ফাংশন নিম্নলিখিত নিয়মগুলির উপর ভিত্তি করে এই দশমিককে বাইনারিতে রূপান্তর/এনকোড করা উচিত।

n

এর প্রতিটি ডিজিটের জন্য
  • k হল d এর বিটের সংখ্যা
  • আমরা k-1 গুন লিখি 0 এর পরে ডিজিট 1 লিখি
  • আমরা একটি বাইনারি স্ট্রিং হিসাবে d সংখ্যা লিখি, ডানদিকের বিটটি সবচেয়ে কম তাৎপর্যপূর্ণ
  • অবশেষে, আমরা d-এর কোডিং পেতে b) এবং c) এর ফলাফলকে সংযুক্ত করি

শেষ পর্যন্ত, আমরা n সংখ্যার জন্য পাওয়া সমস্ত ফলাফলকে একত্রিত করি।

সুতরাং, 0110 হিসাবে 2 কোড এবং 0111 হিসাবে 3

উদাহরণ

নিম্নলিখিত কোড -

const str = '77338855';
const encodeNumString = (str = '') => {
   const buildarray = (string = '') => {
      let n = string.split(''), res = '';
      n.forEach(x => {
         let num = Number(x).toString(2);
         num = '0'.repeat(num.length -1) + '1' + num;
         res += num;
      });
      return res;
   }
   const arr = [];
   let res = "";
   for (let i = 0; i < 10; i++){
      arr.push(buildarray(String(i)));
   };
   while (str.length){
      for (let i = 0; i < 10; i++) {
         if (str.startsWith(arr[i])) {
            res += String(i);
            str = str.slice(arr[i].length);
            break;
         }
      }
   }
   return res;
};
console.log(encodeNumString(str));

আউটপুট

নিম্নোক্ত কনসোল আউটপুট -

001111001111011101110001100000011000001101001101

  1. জাভাস্ক্রিপ্টে একটি সংখ্যা এবং একটি স্ট্রিং কিভাবে যোগ করবেন?

  2. জাভাস্ক্রিপ্টে প্রদত্ত স্ট্রিং-এ কতগুলো শব্দ গণনা করা যায়?

  3. জাভাস্ক্রিপ্টে সংযুক্ত না হয়ে কীভাবে একটি স্ট্রিং এবং একটি সংখ্যা যুক্ত করবেন?

  4. জাভাস্ক্রিপ্টে TextDecoder এবং TextEncoder?