কম্পিউটার

কাস্টম ম্যাপিং জাভাস্ক্রিপ্টের সাহায্যে দশমিক বেস থেকে হেক্সাডেসিমেলে একটি পূর্ণসংখ্যা ম্যাপ করুন


সাধারণত যখন আমরা একটি দশমিককে হেক্সাডেসিমেল (বেস 16) এ রূপান্তরিত করি তখন আমরা সংখ্যাটি ম্যাপ করতে 0123456789ABCDEF সেট ব্যবহার করি।

আমাদের এমন একটি ফাংশন লিখতে হবে যা ঠিক একই কাজ করে কিন্তু ব্যবহারকারীকে উপরে উল্লিখিত একটির পরিবর্তে যেকোনো স্কেল ব্যবহারের স্বাধীনতা প্রদান করে৷

যেমন −

দশমিক 363-এর হেক্সাডেসিমেল স্বরলিপি হল 16Bকিন্তু ব্যবহারকারী যদি '0123456789ABCDEF', সংখ্যা 363-এর পরিবর্তে একটি স্কেল 'qwertyuiopasdfgh' ব্যবহার করার সিদ্ধান্ত নেন, তাহলে wus দ্বারা প্রতিনিধিত্ব করা হবে

এটা আমাদের করতে হবে।

সুতরাং, আসুন হেক্স() তে একটি ফাংশন তৈরি করে এটি করি যা পূর্ণসংখ্যার বাইরে একটি হেক্স তৈরি করতে পুনরাবৃত্তি ব্যবহার করে। সুনির্দিষ্টভাবে বলতে গেলে, এতে চারটি আর্গুমেন্ট লাগবে, কিন্তু সেই চারটির মধ্যে শুধুমাত্র প্রথম দুটিই শেষ ব্যবহারকারীর জন্য কাজে লাগবে৷

তাদের মধ্যে প্রথমটি হবে হেক্সে রূপান্তরিত করা সংখ্যা, এবং দ্বিতীয়টি কাস্টম স্কেল, এটি বিকল্প হবে এবং যদি এটি সরবরাহ করা হয় তবে এটি ঠিক 16 অক্ষরের একটি স্ট্রিং হওয়া উচিত অন্যথায় ফাংশনটি মিথ্যা ফেরত দেয়। অন্য দুটি আর্গুমেন্ট হল হেক্সস্ট্রিং এবং ইজ নেগেটিভ যা ডিফল্টরূপে যথাক্রমে এম্পিস্ট্রিং এবং একটি বুলিয়ানে সেট করা আছে৷

উদাহরণ

const num =363;const toHex =( num, hexString ='0123456789ABCDEF', hex ='', isNegative =num <0 ) => { if(hexString.length !==16){ return false; } সংখ্যা =Math.abs(num); if(num &&typeof num ==='number'){ // recursively hex-এ অবশিষ্টাংশ যোগ করুন এবং num কে 16 দ্বারা ভাগ করুন হেক্স(Math.floor(num / 16), hexString, `${hexString[num%16] }${hex}`, নেতিবাচক); }; রিটার্ন কি নেতিবাচক? `-${hex}` :hex;};console.log(toHex(num, 'QWERTYUIOPASDFGH'));console.log(toHex(num));console.log(toHex(num, 'QAZWSX0123456789')) 

আউটপুট

কনসোলে আউটপুট হবে −

WUS16BA05

  1. জাভাস্ক্রিপ্টে n বিভিন্ন উপাদান সহ অ্যারের অংশ

  2. জাভাস্ক্রিপ্টে ডেসিমেল সংখ্যার নিকটতম বৃহত্তর পূর্ণসংখ্যাটি ফেরত দিন

  3. জাভাস্ক্রিপ্টে পুনরাবৃত্তি করা দশমিক অংশের দৈর্ঘ্য খুঁজে বের করা

  4. জাভাস্ক্রিপ্ট ব্যবহার করে বিটগুলি কি পূর্ণসংখ্যায় পর্যায়ক্রমে হয়?