Hallo,
habe folgenden Code:
Um es kurz zu demonstrieren wie man eine Dezimalzahl in Binär umrechnen kann:
27 / 2 = 13,5 => 1
13 / 2 = 6,5 => 1
6 / 2 = 3 => 0
3 / 2 = 1,5 => 1
1 / 2 = 0,5 => 1
Und dann von unten nach oben (hier blöd, weil es wie ein Palindrom ist).
Das Problem bei meinem Code ist, dass er auch bei gerade Zahlen (hier 6 & 3) nicht in die If-Anweisung springt. Ist das ein Logikfehler, oder was ist das Problem?
Falls jemand eine Idee hat, bitte nicht den Code poste, nur eine Anregung
Frohes Osterfest und viele Grüße
habe folgenden Code:
Java:
double z1 = 27.0;
double z2 = 2.0;
int i = 0;
boolean[] bA = new boolean[8];
while (z1 >= 0) {
z1 /= z2;
if (z1 % 2.0 == 0.0) {
bA[i] = false;
} // end of if
else {
bA[i] = true;
z1 -= 0.5;
} // end of if-else
i++;
} // end of while
for (int j = 0; j < 8; j++) {
System.out.println(j + ". Stelle: " + bA[j]);
} // end of for
27 / 2 = 13,5 => 1
13 / 2 = 6,5 => 1
6 / 2 = 3 => 0
3 / 2 = 1,5 => 1
1 / 2 = 0,5 => 1
Und dann von unten nach oben (hier blöd, weil es wie ein Palindrom ist).
Das Problem bei meinem Code ist, dass er auch bei gerade Zahlen (hier 6 & 3) nicht in die If-Anweisung springt. Ist das ein Logikfehler, oder was ist das Problem?
Falls jemand eine Idee hat, bitte nicht den Code poste, nur eine Anregung
Frohes Osterfest und viele Grüße