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



## xam90 (5. Jan 2013)

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:


----------



## Gast2 (5. Jan 2013)

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


----------



## DrZoidberg (5. Jan 2013)

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.

```
String binaerzahl = "1011";
int zahl = 0;
for(char c: binaerzahl.toCharArray()) {
    int ziffer = c-'0'; //ergibt entweder 0 oder 1
    zahl = ...
}
```


----------



## civben85 (5. Jan 2013)

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


----------

