Hi, also wenn ich jetzt sage ich möchte eine HEX in DEC umwandeln werd ich hier bestimmt von einigen geohrfeigt, weil es gibts ja eigendlich nur 0 & 1. Aber ich möchte ja auch nich umwandeln. Ich benötige nur eine Decimale darstellung einer HEX- Zahl. Nur irgendwie hab ich keinen Plan wie. Ich hoffe ihr könnt mir da helfen. Über die Suche hab ich auch nichts passendes gefunden. Also ne HEX in DEC dazustellen ist ja auf dem Papier kein Problem. Aber im AVR schon. Gruß & Danke Nico
In welcher Form liegt den deine Hex-Zahl vor? Hex und Dezimal sind nur verschiedene Repräsentierungen von ein und demselben: einer Zahl. Das heist wenn du deine Zahl im Rechner auch als Zahl hast, dann sind Hex und Dezimal (oder Binär) nur verschiedene Darstellungsweisen, wie man eine Zahl ausgebene kann. Daher die Frage: Wie liegt denn die Zahl vor? (Ich vermute mal in Form eines Strings, will aber sicher gehen)
> Also ne HEX in DEC dazustellen ist ja auf > dem Papier kein Problem. Na ja. Wenn's auf dem Papier kein Problem ist, wo liegt dann dein Problem. Normalerweise ist genau das das Schwierigste: Ein Verfahren zu finden. Wenn du das Verfahren hast und es am Papier funktioniert ist der Rest reines Handwerk.
Da war doch mal was in der Codesammlung: http://www.mikrocontroller.net/forum/read-4-46127.html#new Peter
Hmmmm.. Vermutlich möchtest Du einen numerischen Wert (z.B. ein Byte oder einen Integer) in einen String konvertieren, der eine Dezimal-Zahl darstellt? z.B. char MyDezStr[8] = ""; int MyHexVal = 0x1234; // = 11064 Dezimal Int2Dez(MyHexVal,MyDezStr); // => MyDezStr = "11064" Tja, Du schaffst es bestimmt eine solch Funktion Int2Dez()auf die Beine zu stellen! Ist eine gute Übung umd C zu lernen... MfG Peter
Du kannst z.B. printf("%d", zahl) oder sprintf(string, "%d", zahl) nutzen; dann hast Du eine ASCII-Repräsentation der Zahl. Was möchtest Du überhaupt machen? Hast Du ein Display? Michael
Hi, also ein Diplay habe ich zur Zeit noch nicht. Ich gebe die Daten über RS232 aus. Und habe da ein kleines Tool geschrieben das die Daten entgegen nimmt. Das kleine 'Toolchen' beinhaltet auch noch ein VT100 Terminal und bequemer mit dem uC komunizieren zu können bzw. diverse Einstellungen zu machen. Ich denke aber ich werde in der nächsten Woche ncoh ein Display dran basteln. Dieses von Pollin für knappe 8. Ne "Adapterplatine" von Folienstecker auf auf DIL 10Pol. Flachbandkabel habe ich schon fertig, muss nur noch geätzt werden. MfG Nico
Dann gibts drei Möglichkeiten: a) Du benutzt eh schon printf oder sprintf: Diese Funktionen erledigen dir die nötige Umwandlung vor der Ausgabe b) Du hast Platz auf dem µC: Verwende itoa(); c) Du hast kaum Platz und willst einen verständlichen Codebaustein haben: Den findest du unter dem Link von Peter Ausgabe auf UART und Ausgabe auf dem Display unterscheiden sich bei ordentlicher Programmierung nur sehr unwesentlich, du brauchst nur andere Ausgaberoutinen. Ergo kannst du den Code für beides verwenden.
Also falls Du sprintf() nicht ohnehin schon verwendest würde ich itoa() benutzen. Diese Funktion braucht vermutlich deutlich weniger Resourcen als sprintf()! Gruss Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.