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