Hey Leute,
wollte ne Methode schreiben die Binär in Dezimal umrechnet.
Ich hatte mir das ganze so überlegt:
Ich lese die Binärzahl als String ein, konvertiere in einen Chararray und zähle die länge des Arrays.
Danach lass ich von hinten also bei array.length angefangen immer -1 zurückzählen, gugg ob die zahl == 1 ist und wenn ja wird Math.pow(2, exponent); ausgeführt
danach wird der exponent um 1 erhöht und array.length (natürlich in ner variable) um 1 gesenkt!
Dabei kam ich auf folgenden Code:
Nur wenn ich jezz versuche b'10 (also d' 2) umzurechnen sagt er mir immer das wäre 0 :|
Hat jemand ne Idee, stehe wohl total aufm Schlauch!
wollte ne Methode schreiben die Binär in Dezimal umrechnet.
Ich hatte mir das ganze so überlegt:
Ich lese die Binärzahl als String ein, konvertiere in einen Chararray und zähle die länge des Arrays.
Danach lass ich von hinten also bei array.length angefangen immer -1 zurückzählen, gugg ob die zahl == 1 ist und wenn ja wird Math.pow(2, exponent); ausgeführt
danach wird der exponent um 1 erhöht und array.length (natürlich in ner variable) um 1 gesenkt!
Dabei kam ich auf folgenden Code:
Code:
public class Hexandbin
{
public static double BinTOHex(String dualzahl)
{
char[] binstellen = dualzahl.toCharArray();
double exponent= 0;
int dezsum=0;
int i = binstellen.length-1; //-1, weil ein array von 0-x geht und der ja alle stellen //ausliest
System.out.println(i);
while (i>-1)
{
if(binstellen[i]==1)
{
dezsum = dezsum + (int)Math.pow(2,exponent);
}
exponent=exponent+1;
i = i-1;
}
return dezsum;
}
}
Nur wenn ich jezz versuche b'10 (also d' 2) umzurechnen sagt er mir immer das wäre 0 :|
Hat jemand ne Idee, stehe wohl total aufm Schlauch!