Kommazahl hexadezimal ausgeben

Hallo,

ich soll für eine Programmieraufgabe eine Kommazahl hexadezimal ausgeben.
Kann mir da jemand helfen?
Ohne Komma wär das ja kein Problem…

Danke und Grüsse

Uwe

hast du mittler weile schon eine antwort?!
für ganzzahlen nimmt man „i“ (int) und für kommazahlen doch „f“ (float), oder?!
und dann einfach so in dein programm eintragen und weiter rechnen lassen.
ansonsten poste doch mal den quelltext, wenn du ihn nun zum laufen gebrahct hast, so wie du es willst.

bin auch interessiert daran…und ein totaler newbie

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Eine Erklaerung findest du hier:

http://home.t-online.de/home/arndt.bruenner/mathe/sc…

Zahlensystem einstellen (oben dezimal, unten hexadezimal), dann auf
„Wie geht das?“ klicken. Das sollte doch umzusetzen sein.

Gruss, Patrick

Hallo Uwe!
Es kommt doch darauf an, ob gefordert wird:
a) Von der Maschinencode-Darstellung der Gleitkommazahl
eine Hexadezimal-Darstellung zu liefern oder
b) von der Zahl als String „3,1421592“ eine
Hexadezimal-Darstellung zu liefern.

Fall a)
int rr, j, nibbl;
float als_gleitkomma;
unsigned long *p;
unsigned char Resultat[9];

main()
{ rr= ‚A‘-(‚9‘+1); /* Umrechnungskonstante */
p = &als_gleitkomma;
*p = 0;
als_gleitkomma = 3.141592;
printf("\nZahl = %8.6f = als_Integer = %d
„,als_gleitkomma,*p);
for (j=0; j ‚9‘) nibbl = nibbl + rr;
/* printf(“\n rr=%d nibbl=%d=%c",rr,nibbl,nibbl); */ /*
Testausg. */
Resultat[–j] = nibbl;
*p = *p / 16;
} while (*p); /* > 0 */
printf("= als_Hexa = %s\n",Resultat);
return(0);
}

Fall b)
int rr, i, j, nibbl;
float gleitkommazahl;
unsigned char Resultat[17], zwischen[9];
main()
{ rr = ‚A‘-(‚9‘+1); /* Umrechnungskonstante */
Resultat[16] = 0; /* Markiere Ende string */
gleitkommazahl = 3.141592;
sprintf(&zwischen,"%8.6f",gleitkommazahl);
printf("\n"%s" ",zwischen);
i = j = 0;
do
{ donibbl(zwischen[j] / 16); /* das linke nibbl */
donibbl(zwischen[j++] % 16); /* das rechte nibbl */
} while(j ‚9‘) nibbl = nibbl + rr;
Resultat[i++] = nibbl;
}
==============================0
Viele Gruesse!
Erhart Arndt.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]