मान लीजिए कि हमारे पास एक पूर्णांक है; हमें इसे हेक्साडेसिमल में बदलने के लिए एक एल्गोरिदम तैयार करना होगा। ऋणात्मक संख्याओं के लिए हम दोनों की पूरक विधि का उपयोग करेंगे।
इसलिए, यदि इनपुट 254 और -12 की तरह है, तो आउटपुट क्रमशः fe और fffffff4 होगा।
इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -
-
यदि num1 0 के समान है, तो -
-
वापसी "0"
-
-
संख्या :=num1
-
s :=रिक्त स्ट्रिंग
-
जबकि संख्या शून्य नहीं है, करें -
-
अस्थायी:=संख्या मोड 16
-
अगर अस्थायी <=9, तो -
-
s :=s + temp संख्यात्मक वर्ण के रूप में
-
-
अन्यथा
-
s :=s + अस्थायी वर्णमाला के रूप में
-
-
संख्या:=संख्या / 16
-
-
सरणी 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