Hi es geht um das Konvertieren von dezimal zu binär.
Folgende While Schleife will sich mir nicht ergeben:
--------------------------------------------------
int abschnitt1, binzahl=0;
float p=1;
while(abschnitt1>0){
binzahl=binzahl+(p*(abschnitt1%2));
p=p*10;
abschnitt1=abschnitt1/2;
}
printf("%d", binzahl);
---------------------------------------------------
Das Ergebnis ist richtig, aber ich verstehe nicht wieso o.O
Ich hab irgendwo gelesen, dass das p*10 zum umkehren des Ergebnisses dient, ich kann mir aber nicht ausmalen warum das Ergebnis sich dadurch umkehrt,
und warum vor allem die "binzahl" dann tatsächlich nur aus Einsern und Nullen besteht. Wenn ich das per Hand auf einem Blatt Papier ausrechne kommt immer eine total komische Zahl raus, wo mindestens eine Ziffer >1 drin ist.
Ich blick nicht durch -.-
Folgende While Schleife will sich mir nicht ergeben:
--------------------------------------------------
int abschnitt1, binzahl=0;
float p=1;
while(abschnitt1>0){
binzahl=binzahl+(p*(abschnitt1%2));
p=p*10;
abschnitt1=abschnitt1/2;
}
printf("%d", binzahl);
---------------------------------------------------
Das Ergebnis ist richtig, aber ich verstehe nicht wieso o.O
Ich hab irgendwo gelesen, dass das p*10 zum umkehren des Ergebnisses dient, ich kann mir aber nicht ausmalen warum das Ergebnis sich dadurch umkehrt,
und warum vor allem die "binzahl" dann tatsächlich nur aus Einsern und Nullen besteht. Wenn ich das per Hand auf einem Blatt Papier ausrechne kommt immer eine total komische Zahl raus, wo mindestens eine Ziffer >1 drin ist.
Ich blick nicht durch -.-
Comment