Hallo, will in C eine Zahl über 10 Stellen einlesen,
habe probiert mit scanf("%f",&test);
printf("%f",test);
funktioniert aber leider nicht, er gibt mir immer was anderes aus wie eingegeben ist.
Danke
Hallo, will in C eine Zahl über 10 Stellen einlesen,
habe probiert mit scanf("%f",&test);
printf("%f",test);
funktioniert aber leider nicht, er gibt mir immer was anderes aus wie eingegeben ist.
Danke
Hi!
Ich bin (wie gesagt) kein C/C++-Spezialist. Mag sein, dass es da was fertiges gibt - ich müsste auch erst nachschauen (das kannst du ja auch machen, es sollten Hinweise in der Doku zu finden sein).
Was ich dir geben kann, sind allgemeine Tipps, wie man solche Probleme löst. Naja, ein Handbuch zu Turbo-C++ 3.0 hab' ich auch. ;-)
Das Problem ist, dass deine Zahl nun nicht in einer Variable vom Typ Integer gespeichert werden kann. Und auf Integer beruht die Hexwandlung mit printf().
Es scheint auch eine Long-Version zu geben, ich kann das aber nicht testen: %10lX (dem X wird ein kleines L vorangestellt).
Falls printf() die Ausgabe eines Long-Wertes in Hexform nicht kann, musst du den Wert als Long einlesen und in zwei unsigned int-Werte aufspalten.
Bis denn
Andreas