কম্পিউটার

C++ এ একটি সংখ্যাকে হেক্সাডেসিমেলে রূপান্তর করুন


ধরুন আমাদের একটি পূর্ণসংখ্যা আছে; এটিকে হেক্সাডেসিমেলে রূপান্তর করার জন্য আমাদের একটি অ্যালগরিদম তৈরি করতে হবে। ঋণাত্মক সংখ্যার জন্য আমরা দুটির পরিপূরক পদ্ধতি ব্যবহার করব।

সুতরাং, যদি ইনপুট 254 এবং -12 এর মত হয়, তাহলে আউটপুট যথাক্রমে fe এবং fffffff4 হবে।

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

  • যদি num1 0 এর মত হয়, তাহলে −

    • "0"

      ফেরত দিন
  • সংখ্যা :=সংখ্যা1

  • s :=ফাঁকা স্ট্রিং

  • যখন সংখ্যাটি শূন্য নয়, কর −

    • temp :=num mod 16

    • যদি temp <=9, তাহলে −

      • s :=s + temp সাংখ্যিক অক্ষর হিসাবে

    • অন্যথায়

      • s :=s + টেম্প বর্ণমালা হিসাবে

    • সংখ্যা :=সংখ্যা / 16

  • অ্যারে s

    বিপরীত করুন
  • s

    ফেরত দিন

উদাহরণ

আরো ভালোভাবে বোঝার জন্য নিচের বাস্তবায়নটি দেখি -

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   string toHex(int num1){
      if (num1 == 0)
         return "0";
      u_int num = num1;
      string s = "";
      while (num) {
         int temp = num % 16;
         if (temp <= 9)
            s += (48 + temp);
         else
            s += (87 + temp);
         num = num / 16;
      }
      reverse(s.begin(), s.end());
      return s;
   }
};
main(){
   Solution ob;
   cout << (ob.toHex(254)) << endl;
   cout << (ob.toHex(-12));
}

ইনপুট

254
-12

আউটপুট

fe
fffffff4

  1. C++ এ মিতব্যয়ী নম্বর

  2. C++ পেন্টাটোপ নম্বর

  3. হেক্সাডেসিমেল থেকে দশমিকের জন্য C++ প্রোগ্রাম

  4. অক্টাল নম্বরকে বাইনারি নম্বরে রূপান্তর করতে C++ প্রোগ্রাম