একটি পূর্ণসংখ্যা হেক্সাডেসিমেলে রূপান্তর করতে হবে। নেতিবাচক সংখ্যার জন্য টু'স কমপ্লিমেন্ট পদ্ধতি ব্যবহার করুন।
উদাহরণ: 254 -> "fe", -12 -> "fffffff4"।
সমাধানের ধাপসমূহ
- যদি num == 0, "0" রিটার্ন করুন।
- unsigned int num = num1 (নেতিবাচক হ্যান্ডল করার জন্য)।
- যখন num != 0:
- temp := num % 16।
- যদি temp <= 9, '0'+temp যোগ করুন, অন্যথায় 'a'+(temp-10) যোগ করুন।
- num /= 16।
- স্ট্রিং রিভার্স করুন এবং রিটার্ন করুন।
C++ কোড উদাহরণ
#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
string toHex(int num1) {
if (num1 == 0) return "0";
unsigned int num = num1;
string s = "";
while (num) {
int temp = num % 16;
if (temp <= 9) s += (char)(48 + temp);
else s += (char)(87 + temp);
num = num / 16;
}
reverse(s.begin(), s.end());
return s;
}
};
int main() {
Solution ob;
cout << ob.toHex(254) << endl;
cout << ob.toHex(-12);
return 0;
}
ইনপুট
254 -12
আউটপুট
fe fffffff4