hexadezimal
-
Hallo,
ich hab einen string mit irgendeiner dezimalzahl. den string würde ich gerne in eine hexadezimalzahl bringen.
kann mir das einer sagen wie das geht, da ich nichts gefunden hab.gruß gucky :xmas1:
-
huhu,
meinst du so?#include <iostream> #include <sstream> using namespace std; int main() { string str = "255"; istringstream ss(str); int i; ss >> i; cout << hex << i; cin.get(); return 0; }gruß
-
das problem an der sache ist, dass die string werte größer als unsigned long sind und ich es so nicht machen kann
-
du könntest die Zahl doch aufteilen, also den "low"-Teil einen, und den "high"-Teil der Zahl in einen anderen string tun, sodass sich die Zahl dann praktisch aus int_low und int_high zusammensetzt.
-
ich hab grad bei wikipedia gelesen, wie man von dezimal ins hexadezimalsystem kommt. dann schreib ich mir meine eigene funktion und dann passt das.
-
was ändert das an dem Problem, dass die Zahl immernoch zu groß ist oO?
gruß
-
achso ich benutzte die gmplib wenn es dir was sagt und dann kann ich es so machen:
1278 : 16 = 79 Rest: 14 (= E) (Nr:1278-(79*16)=14) 79 : 16 = 4 Rest: 15 (= F) (Nr:79-(4*16)=15) 4 : 16 = 0 Rest: 4 (Nr:4-(0*16)=4)
-
ah ok :xmas1:
-
du könntest unsigned long long verwenden.
Das geht definitif!