Hallo ich komme nicht weiter...
alles was ich versuche ist entweder Falsch oder führt mich zu einem Stack - Overflow.
Und zwar habe ich folgendes Problem.
Wir sollen eine binäre Zahl (zB 110) durch Rekursion in eine Dezimale Zahl umwandeln (was in diesem Falle zB 7 wäre);
für die umwandlung bietet sich ja das Horner Schema an, was ich auch verstanden habe und beherrsche, es aber nicht in ein Javaprogramm umwandeln kann...
:meld:
Mein Programm hat bisher immer zuerst geprüft ob die umzuwandelne Zahl <=0 ist
Wenn ja geb "-1" aus ( ist vorgabe)
Wenn nein Zahl % 10 (die erste Zahl kann ja nur eine eins sein)
plus ja nun hier ist mein haken, bisher habe ich immer versucht
durch die Methode die basis zu potenzieren um an die richtige Zahl zu kommen.
Klappt aber irgendwie nicht
ich versuche es mal zu aufzuschreiben
Könnt ihr mir bitte weiterhelfen? Die Skripts helfen mir nicht wirklich weiter, hab da echt ne verständniss blokade... wenn mir jmd das mal ganz genau erklären könnte, fänd ich das super. Falls ihr euch darüber wundert in welcher Form ich das mache, bin im ersten Semester, haben noch nicht mehr zu verfügung (vlt. noch das math. aber das versteh ich auch net ^^).
vielen Dank im voraus
alles was ich versuche ist entweder Falsch oder führt mich zu einem Stack - Overflow.
Und zwar habe ich folgendes Problem.
Wir sollen eine binäre Zahl (zB 110) durch Rekursion in eine Dezimale Zahl umwandeln (was in diesem Falle zB 7 wäre);
für die umwandlung bietet sich ja das Horner Schema an, was ich auch verstanden habe und beherrsche, es aber nicht in ein Javaprogramm umwandeln kann...
:meld:
Mein Programm hat bisher immer zuerst geprüft ob die umzuwandelne Zahl <=0 ist
Wenn ja geb "-1" aus ( ist vorgabe)
Wenn nein Zahl % 10 (die erste Zahl kann ja nur eine eins sein)
plus ja nun hier ist mein haken, bisher habe ich immer versucht
durch die Methode die basis zu potenzieren um an die richtige Zahl zu kommen.
Klappt aber irgendwie nicht
ich versuche es mal zu aufzuschreiben
Code:
public static long umwandelnDezimal(long zahl, int basis) {
return zahl <= 0 ? -1 : zahl % 10 + umwandelnDezimal(???);
}
Könnt ihr mir bitte weiterhelfen? Die Skripts helfen mir nicht wirklich weiter, hab da echt ne verständniss blokade... wenn mir jmd das mal ganz genau erklären könnte, fänd ich das super. Falls ihr euch darüber wundert in welcher Form ich das mache, bin im ersten Semester, haben noch nicht mehr zu verfügung (vlt. noch das math. aber das versteh ich auch net ^^).
vielen Dank im voraus