G
Gelöschtes Mitglied 61081
Gast
Guten Tag, wir sollten ein simples Programm schreiben, in das man eine Dezimalzahl eintippt und einen Binärcode herausbekommt.
Das ist mein Code:
Meine 1 Frage ist: Bei dem Eintippen der Zahl 4 kommt als Binärcode z.B 000100 heraus. Der Richtige wäre aber nur 100. Es haut mir immer 3 Nullen noch davor, sieht jemand den Fehler?
Ich habe notgedrungen mit der Reverse Funktion (ergooglet) gearbeitet. Gerne würde ich aber auch den Lösungsweg auf dem Weg verstehen, der verlangt war. Mein Programm mit dem Endergebnis als Ausgabe (ohne diese Reversebefehle) ist logischerweise falsch rum, da man Binärcodes ja von unten nach oben bzw. hinten nach vorne ausliest. Irgendwie würde ich gerne Teilergebnisse erzielen, für z.B den Binärcode 100 jeweils 1; 0; und 0 und diese dann manuell zusammenfügen, sodass ich einen richtigen Binärcode zu einer Zahl habe, auch ohne Reversebefehl.
Vielen lieben Dank für die Hilfe!
Das ist mein Code:
Java:
public static void main(String[] args) {
Scanner eingabe = new Scanner(System.in);
System.out.println("Bitte eine Zahl eingeben um ins Binärsystem umzuwandeln");
int Teilergebnis;
int Endergebnis = 0;
StringBuilder Umdrehen = new StringBuilder();
//ZE= Zwischenergebnis
for (int ZE = eingabe.nextInt(); ZE> 0; ZE = ZE/2)
{
Teilergebnis = ZE % 2;
Endergebnis = Endergebnis + Teilergebnis;
Umdrehen.append(Endergebnis);
System.out.print(Umdrehen.reverse());
}
}
}
Meine 1 Frage ist: Bei dem Eintippen der Zahl 4 kommt als Binärcode z.B 000100 heraus. Der Richtige wäre aber nur 100. Es haut mir immer 3 Nullen noch davor, sieht jemand den Fehler?
Ich habe notgedrungen mit der Reverse Funktion (ergooglet) gearbeitet. Gerne würde ich aber auch den Lösungsweg auf dem Weg verstehen, der verlangt war. Mein Programm mit dem Endergebnis als Ausgabe (ohne diese Reversebefehle) ist logischerweise falsch rum, da man Binärcodes ja von unten nach oben bzw. hinten nach vorne ausliest. Irgendwie würde ich gerne Teilergebnisse erzielen, für z.B den Binärcode 100 jeweils 1; 0; und 0 und diese dann manuell zusammenfügen, sodass ich einen richtigen Binärcode zu einer Zahl habe, auch ohne Reversebefehl.
Vielen lieben Dank für die Hilfe!