Yay, ich bin's wieder, der noob... Is' seltsam, aber ich krieg offenbar nix hin. Vllt könnt ihr mir wieder helfen, wäre sehr nett. Ihr könnt mich auch auslachen...
Ich will ne beliebige 32-bit Zahl ausgeben. Eine einzelne Ziffer hab ich schon, aber wenn ich diesen code ausführe, kriege ich immer nur eine '1' als ausgabe. Bochs Debug bringt mir nix, da ich da nicht mehr durchsehe.
Hoffe ihr könnt mir noch einmal helfen...
PS: Sollte ich eine printf-funktion schreiben oder mich lieber von einer Klippe stürzen?
Ich will ne beliebige 32-bit Zahl ausgeben. Eine einzelne Ziffer hab ich schon, aber wenn ich diesen code ausführe, kriege ich immer nur eine '1' als ausgabe. Bochs Debug bringt mir nix, da ich da nicht mehr durchsehe.
Code: [Auswählen]
void printnum(_u32 n)
{
_u32 num = n;
if(num == 0) putch('0');
else
{
for(i=9;i>=0;i--)
{
_u32 exp = 10^i;
if(num >= exp)
{
_u8 d = num / exp;
putdigit(d);
num -= d * exp;
}
}
}
}Hoffe ihr könnt mir noch einmal helfen...
PS: Sollte ich eine printf-funktion schreiben oder mich lieber von einer Klippe stürzen?

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken


Gespeichert
Das mit der Klippe is ne ganz schlechte Idee.
Das ist keine gute Voraussetzung
Trotzdem ist das nicht unbedingt die portabelste Lösung