C
Carpe
Gast
Hallo ihrs,
Ich brauche Hilfe bei einem Programm! Ich muss eins schreiben was dezimalzahlen in das dualsystem von basis 2 bis 16 umrechnet. Bei der rechnung habe ich große Probleme... so sieht das Programm aus:
Theoretisch muss man die eingegebene zahl durch die basis teil bis die zahl null ist und jedes mal den rest ausrechnen der dann eins oder null ist. dieser rest muss dann in einer reihe ausgegeben werden und ist dann die umgerechnete zahl.....aber wie???
ich würde mich freuen wenn einer eine idee hat danke!
dominic
Ich brauche Hilfe bei einem Programm! Ich muss eins schreiben was dezimalzahlen in das dualsystem von basis 2 bis 16 umrechnet. Bei der rechnung habe ich große Probleme... so sieht das Programm aus:
Code:
class Dual
{
public static void main(String args[])
throws IOException
{
int zahl;
double dez, b, e, dual, i;
BufferedReader din= new BufferedReader( new InputStreamReader(System.in));
System.out.println("Dieses Programm rechnet Ihnen reelle Zahlen in ein anderes
Zahlensystem um!");
System.out.println("");
do {
System.out.print("Bitte geben Sie eine 1 um zu Starten, oder eine 2 um
zu beenden! ");
zahl=Integer.parseInt(din.readLine());
System.out.println("");
switch(zahl)
{
case 1:
{
System.out.print("Bitte geben Sie eine Basis zwischen 2 und 16
ein: "); //Programmmenu
b=Double.parseDouble(din.readLine());
if((b<2) || (b>16)){
System.out.println("");
System.out.println("Sie haben keine Basis zwichen 2-16 eingegeben: ");
System.out.println("");
break;
}
System.out.println("");
System.out.print("Bitte geben Sie nun eine reelle positive Zahl ein: ");
dez=Double.parseDouble(din.readLine());
if(dez<0){
System.out.println("");
System.out.println("Sie haben eine negative Zahl eingegeben!");
System.out.println("");
break;
}
for(i=1;dez=0;i++) // hier ist die rechnung wo ich mein Problem habe....
e=dez/b;
dual=dez%b;
e=dez;
System.out.println("Ergebnis: "+dual+"!");
}
case 2:
{
break;
}
}
}while(zahl!=2);
}
}
Theoretisch muss man die eingegebene zahl durch die basis teil bis die zahl null ist und jedes mal den rest ausrechnen der dann eins oder null ist. dieser rest muss dann in einer reihe ausgegeben werden und ist dann die umgerechnete zahl.....aber wie???
ich würde mich freuen wenn einer eine idee hat danke!
dominic