www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik dez in hex


Autor: kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!!

Ich brauche eure Hilfe! Ich hab seit kurzem mit dem Programm µvision2
angefangen und wollte euch fragenob mir nicht jemand ein Programm
schcken kann dass eine dezimalzahl in hex ausgibt!

vielen dank im voraus

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Windows eigene Taschenrechner kann das.

Autor: kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Carsten!

danke das weis ich selber aber ich will ein programm schreiben dass das
selbe wie der tschenrechner macht!

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
for(;;)
{
  unsigned short val;

  scanf("%d", &val);
  printf("%04X\n", val );
}


Peter

Autor: kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke peter!

aber ich will befehle die mit dem mikrokontroller gehn verwenden z.B.
mov, push usw.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann ist es etwas mehr Schreibarbeit:

http://home.tiscali.de/peterd/appl/soft/arithmet/index.htm


Peter

Autor: kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke peter

aber welche datei soll ich verwenden oder ist das schon das programm??
geht es nicht einfacher??

vielen dank im voraus

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du das Prinzip verstanden hast, dann kannst Du
das doch selbst programmieren.

Das Prinzip ist ganz einfach.

   68867 dezimal hat welche Hex Darstellung:

   68867 / 16 =  4304  Rest    3
    4304 / 16 =   269  Rest    0
     269 / 16 =    16  Rest   13
      16 / 16 =     1  Rest    0
       1 / 16 =     0  Rest    1

 d.h. die Hex Darstellung lautet:  1 0 13 0 3
 Nun gibt es aber in Hex keine Zahl 13, dafuer schreiben wir 'D'
 und erhalten

    68867 dez  <==>  10D03 hex

Autor: Profi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Liegt die Dez-Zahl in BCD oder als String oder binär vor?
Welcher Wertebereich?

Byte z.B.:
unsigned char dez=0xAB;
printf("%c%c",'0'+dez/16+(dez/16>9?7:0),'0'+(dez&15)+(dez&15>9?7:0));

printf("%c%c",'0'+dez/16+(dez/16>9?39:0),'0'+(dez&15)+(dez&15>9?39:0));
bringt kleine Buchstaben a..f

Das sollte sehr einfach in Assembler umzusetzen sein.

Word (16bit) muss man halt in 2 Bytes aufteilen.

Autor: Karlo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man Kurt bleibt bei VisualBasic hier biste falsch.Glaubs ja nich soviel
Dummheit auf so wenig Platz...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.