Brauche Hilfe für eine Methode zur Umwandlung von Binärzahl in Dezimalzahl !?

xam90

Mitglied
Hallo :)

für die Uni hab ich eine Aufgabe und zwar muss ich eine Methode "static int to Decimal(String n)"
schreiben in der eine Binärzahl n>=0 erwartet wird, die Dezimalzahl zurück gegeben wird und dabei soll das Horner-Schema verwendet werden... hab aber leider keine Idee :/ :rtfm::noe:
 
G

Gast2

Gast
Und wie soll man dir jetzt helfen? Wo hakts? Das Horner Schema wird auf Wikipedia erklärt.
 

DrZoidberg

Top Contributor
Wenn die Binärzahl so aussieht 1011, dann kann man das auch schreiben als
1*2^3 + 0*2^2 + 1*2^1 + 1
Nach Horner Schema umgeformt: ((1*2 + 0)*2 + 1)*2 + 1
Da geht mit einer for Schleife.
Java:
String binaerzahl = "1011";
int zahl = 0;
for(char c: binaerzahl.toCharArray()) {
    int ziffer = c-'0'; //ergibt entweder 0 oder 1
    zahl = ...
}
 

civben85

Mitglied
Hallo,

um aus einem String die Zahlen auszulesen kann man auch die Methode Character.digit(char c, int basis) nehmen.

D.h. wenn man einen String s = "10010" hat und die erste Stelle möchte macht man:

Character.digit(s.charAt(0), 10) so bekommt man die 1.


Grüße Benny
 

Neue Themen


Oben