dual - dezimal

manja

Mitglied
Hi, alle, irgendwie klappt es bei mir nicht richtig
...

// Binär nach Dezimal umrechnen
static int Bin2Dez(String zahl) {
int ergebnis = 0;
int pow = 1;
for (int i = zahl.length()-1; i >= 0; i--, pow = pow * 2) {
if (zahl.charAt(i) == '1') ergebnis = ergebnis + pow;
}
return ergebnis;
}

public static void main (String[] args) {
// Alle Binärzahlen von 0 bis 255 ausgeben

for (int i=0; i <= 255; i++) {

// Dec in Binär umrechnen
int dezZahl = Bin2Dez(ergebniss);

// Ergebnisse ausgeben
System.out.println(i + ": " + ergebnis + " = " + dezZahl);
}
}
::(
Danke!
 
Code:
//Binär Dezimal Umwandler !

public class BinaerDezimal
{
  public static void main(String args[])
  {
	System.out.print("Geben Sie bitte eine binäre Zahl ein: ");
	String n = Gdi1.readString();
			
	int felder [] = new int [n.length()];
	int erg =0;
		
	for (int j=0; j<=n.length() -1; j++)
	{
		felder [j]   = n.charAt(j); //Ausgabe von ASCII Stellen !
		//System.out.print((char)felder[j]);
	}
	
	System.out.print("\n\n");
	
	for (int i=0; i<=n.length() -1; i++)
	{
		if (felder[i]=='1')
				
			felder[i]=(int) Math.pow(2,n.length() -1 -i);
								
		else
		
		felder[i]=0;
			
		//System.out.println(felder[i]);
		erg += felder[i];							
	}
	System.out.print("\nDezimaldarstellung : "+erg);
  }
}


Gruß
Aaron
 
Zuletzt bearbeitet:
Leider fehlt noch was...

Hallo Aaron,

leider hast du vergessen, dass Manja wohl kaum die Klasse Gdi1 zur Verfügung hat. Du greifst mit Gdi1.leseString() auf diese Klasse zu. (Woher kenn ich diese Klasse nur? Hat da jm. GDI an der FH in ZW gehört :) *gg* )
Habe nun mal schnell diese Methode in die Klasse BinaerDezimal eingefügt, sodass nun der Code funktioniert.
Code:
public class BinaerDezimal {
    public static String leseString() {
        int ch;
        String input = new String("");
        boolean fertig = false;
        while (!fertig) {
            try {
                ch = System.in.read();
                if (ch < 0 || (char)ch == '\n')
                    fertig = true;
                else if ((char)ch != '\r') input = input + (char)ch;
            }  catch (java.io.IOException e) {
                fertig = true;
            }
        }
        return input;
    }
    
    public static void main(String args[]) {
        System.out.print("Geben Sie bitte eine binäre Zahl ein: ");
        String n = leseString();
        
        int felder [] = new int [n.length()];
        int erg =0;
        
        for (int j=0; j<=n.length() -1; j++) {
            felder [j] = n.charAt(j); //Ausgabe von ASCII Stellen !
            //System.out.print((char)felder[j]);
        }
        
        System.out.print("\n\n");
        
        for (int i=0; i<=n.length() -1; i++) {
            if (felder[i]=='1')
                
                felder[i]=(int) Math.pow(2,n.length() -1 -i);
            
            else
                
                felder[i]=0;
            
            //System.out.println(felder[i]);
            erg += felder[i];
        }
        System.out.print("\nDezimaldarstellung : "+erg);
    }
}
Hoffe Euch geholfen zu haben.

Gruß
Alexander
 
Servus!

Code:
public class DezToBin {

	public static void main(String[] args) {
		System.out.println(Integer.toBinaryString(234));
	}
}

Gruß Tom
 

Neue Beiträge

Zurück