मान लीजिए कि हमारे पास एक पूर्णांक है; हमें इसे हेक्साडेसिमल में बदलने के लिए एक एल्गोरिदम तैयार करना होगा। ऋणात्मक संख्याओं के लिए हम दोनों की पूरक विधि का उपयोग करेंगे।
इसलिए, यदि इनपुट 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