hallo zusammen
ich bin gerade dabei java zu lernen und hab mit einem programm ein problem
ich habe mir ein kleines programm geschrieben was mir zahlen der bsis 10 in zahlen anderer basis umrechnet oder umgekehrt.
jetzt habe ich ein problem bei der ausgabe wenn ich eine zahl der basis 10 in eine andere zahl zb der basis 2 umrechne.
bei meinem programm kommt dann die umgerechnete zahl immer falsch rum raus kleines beispiel bei der zahl 12 der basis 10 kommt die zahl 0011 der basis 2 rais und nicht 1100.
woran das liegt weis ich schon es ist meine ausgabe.
jetzt meine frage gibt es eine ausgabemöglichkeit die mir die zahl in der richtigen reihenfolge ausgibt also 1100 und nicht
0011. also ich bräuchte eine ausgabe die nicht von links nach rechts ausgibt sondern von rechts nach links also immer vor die letzt zahl schreibt und nicht dahinter.
wenn es so eine methode gibt wäre ich dankbar wenn sie mir einer verraten würde
der code meines programms sieht so aus die fehlerstell ist mit dem kommentar versehen
// MEIN PROGLEM IST BEI DER AUSGABE
ich bin gerade dabei java zu lernen und hab mit einem programm ein problem
ich habe mir ein kleines programm geschrieben was mir zahlen der bsis 10 in zahlen anderer basis umrechnet oder umgekehrt.
jetzt habe ich ein problem bei der ausgabe wenn ich eine zahl der basis 10 in eine andere zahl zb der basis 2 umrechne.
bei meinem programm kommt dann die umgerechnete zahl immer falsch rum raus kleines beispiel bei der zahl 12 der basis 10 kommt die zahl 0011 der basis 2 rais und nicht 1100.
woran das liegt weis ich schon es ist meine ausgabe.
jetzt meine frage gibt es eine ausgabemöglichkeit die mir die zahl in der richtigen reihenfolge ausgibt also 1100 und nicht
0011. also ich bräuchte eine ausgabe die nicht von links nach rechts ausgibt sondern von rechts nach links also immer vor die letzt zahl schreibt und nicht dahinter.
wenn es so eine methode gibt wäre ich dankbar wenn sie mir einer verraten würde
der code meines programms sieht so aus die fehlerstell ist mit dem kommentar versehen
// MEIN PROGLEM IST BEI DER AUSGABE
Code:
/* Author: Robert Schrader
*
* Dieses Programm rechnet eine Zahlen aus einem fremden Zahlensystem mit der
* Basis b in das Zehnersystem um oder umgekehrt.
*
*/
class NumberBase {
public static void main(String args[]){
int zahl = Integer.parseInt(args[0]); //Zahl die umgerechnet ewrden soll
int basis = Integer.parseInt(args[1]); //Basis der Zahl
int ziehlbasis = Integer.parseInt(args[2]); //Basis der neuen Zahl
if(basis == 10){
int rest = 1; //Rest der Zwischenrechnung
int modrest = 0; //Rest der Modulooperation
while (rest != 0){
rest = zahl / ziehlbasis; //zahl / ziehlbasis ist die neu Zahl
modrest = zahl % ziehlbasis; //modrest ist Zahl in der neuen Basis
zahl = rest;
System.out.print(modrest); //MEIN PROBLEM IST BEI DER AUSGABE
}
System.out.println();
}
else{
int rest_b = 1; //Rest der Zwischenrechnung
int modrest_b = 0; //Rest der Modulooperation
double teilergebnis; //Variable um Ergebnise zwischenzuschpeichern
int ergebnis = 0;
int exponent = 0; //Exponent
System.out.print("Die Zahl " + zahl + " der Basis " + basis +",");
while(zahl != 0){
teilergebnis = 0;
rest_b = zahl % 10;
teilergebnis = rest_b * Math.pow(basis, exponent);
ergebnis += teilergebnis;
exponent++;
zahl /= 10;
}
System.out.print(" ist die Zahl " + ergebnis + " der Basis ");
System.out.println(ziehlbasis);
}
}
}