Hey Leute, ich arbeite in Java gerade an einem Umrechner von Dezimalzahlen in Binärschreibweise. Funktioniert soweit alles, hatte anfangs die Länge des Arrays in der die Binärzahl gespeichert ist auf 10 gesetzt (nur für Testzwecke). Wollte jetz allerdings die Länge des Arrays an die benötigte Länge anpassen (z.B. benötigt die Zahl 7 im Array 3 Stellen, und die Zahl 2 nur 2 Stellen).
Das rechnet man ja mit dem Logarithmus Dualis aus. Meine (zugegeben etwas wirre) Methode dafür sieht im Moment so aus:
Allerdings gibt's bei der Ausgabe z.b. bei 4 nur 2 Stellen aus obwohl ich da 3 benötige. Bei der Zahl 7 funktionierts allerdings und gibt mir die benötigten 3 Stellen aus. Wo istn da ein Fehler ich bin ehrlichgesagt überfragt ^^
Das rechnet man ja mit dem Logarithmus Dualis aus. Meine (zugegeben etwas wirre) Methode dafür sieht im Moment so aus:
Code:
static int logarithmus (int x){
double log = Math.log(x)/Math.log(2.0);
double zahl = Math.ceil(log);
int zahlerg = (int)(zahl);
return zahlerg;
}
Allerdings gibt's bei der Ausgabe z.b. bei 4 nur 2 Stellen aus obwohl ich da 3 benötige. Bei der Zahl 7 funktionierts allerdings und gibt mir die benötigten 3 Stellen aus. Wo istn da ein Fehler ich bin ehrlichgesagt überfragt ^^