Hallo, ich möchte in C eine Zahl von hex in Dec umwandeln, wobei der numerische Wert gleich bleiben soll, also keine normale Konvertierung.
Ich möchte also aus 32112345dec eine 0x32112345 machen.
Ich finde ein paar Beispiele im internet, die wandeln aber in string um was auf meinem msp430 nicht klappt, ich habe den Datentyp string hier nicht. evt. mit char[], aber die länge wäre in meinem Fall hier stets anders.
Ursprünglich wollte ich die max. 4 Byte große Zahl in einzelen Bytes zerlegen und mit 16 multiplizieren. Beim kleinesten Byte klappt das halbwegs, zumindest bis ich bis 100d komme, dann scheitert es "irgendwo" am Überlauf...
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
Mir ist klar, dass der Fehler im Beispiel oben in Zeile 15+16 bzw. 21+22 liegt. Aber ich verstehe nicht wie ich hier die zweite Stelle des Überlaufs verrechnen muss. Vlt. kann mir jemand von Euch einen Tipp geben!?