ধরুন আমাদের একটি পূর্ণসংখ্যা আছে; এটিকে হেক্সাডেসিমেলে রূপান্তর করার জন্য আমাদের একটি অ্যালগরিদম তৈরি করতে হবে। ঋণাত্মক সংখ্যার জন্য আমরা দুটির পরিপূরক পদ্ধতি ব্যবহার করব।
সুতরাং, যদি ইনপুট 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