# Dezimal nach Binär



## axl (22. Mrz 2012)

Hallo alle zusammen,

bevor ich euch mit meinem Problem belästige möchte ich mich kurz vorstellen...
Mein Name ist Axl und ich habe gerade erst begonnen mit Java und stehe immer wieder vor "kleinen Problemen"  hoffe ihr könnt mir helfen.

Aufgabe lautet ein Programm zu schreiben, dass Zahlen von dezimal nach binär umwandelt.
Allerdings nur von 0 bis 15... Um das Array mit den korrekten Ziffern zu füllen sollte eine while-Schleife und für die Ausgabe auf der Konsole eine for-Schleife verwendet werden. Die Länge des Arrays mit BINARY_DIM = 4 definiert werden. 

[JAVA=42]public class Test2 {

	public static void main(String[] args) {
	        int[] test = decToBin(12, getBinArray(12));
	        for(int i = 0; i < test.length; i++){
	            System.out.print(test_);
	        }
	    }

	    public static int[] getBinArray(int number){
	        int res = number, length = 0;
	        while(res != 0){        
	            res /= 2;
	                    length++;
	        }
	        return new int[length];
	    }

	    public static int[] decToBin(int number, int[] array){
	        int res = number, k = array.length-1;
	        while(res != 0){
	            if(res%2 == 0){
	                array[k] = 0;
	            }else{
	                array[k] = 1;
	            }
	            k--;
	            res /= 2;
	        }
	        return array;
	    }
	}[/code]

Das ist mal ein Versuch der auch durch Hilfe des Internets entstanden ist.
Nur mein Problem ist dass es einen vorgegebenen Quelltext gibt und die sache mit dem BINARY_DIM = 4 hab ich nicht ganz verstandnen wie ich das definieren soll.

Vorgegebener Quellcode:
public class Probe {

[JAVA=42]private final static int BINARY_DIM = 4; // bit

	public static void main(String[] args) {

		int decimalNumber = 6;

		binaryOutput(binary(decimalNumber));
	}

	private static int[] binary(int decimalNumberToConvert) {

		// code
	}

	private static void binaryOutput(int[] binaryArray) {

		//code
	}
}

[/code]

Danke im voraus _


----------



## susi88 (13. Apr 2012)

hallo,
ich hab das selbe Problem, hast du schon eine Lösung gefunden für BINARY_DIM=4 bzw für den binary output?

das einbinden in den vorgegebenen quelltext der methoden dürfte kein problem sein, du musst nur deine variablen an die vorgegebenen angleichen.

lg


----------



## Fab1 (13. Apr 2012)

Die letzte Aktivität des TO ist schon eine Weile her, vielleicht könntest du dein Problem bitte neu, verständlicher und kürzer beschreiben.


----------



## susi88 (13. Apr 2012)

Ich hab jetzt eigentlich "nur" mehr das Problem dass das BINARY_DIM = 4; (länge des zu erstellenden Arrays) nicht verwendet wird und ich nicht recht weiß wie und wo ich es einbinden muss.
und irgendwo is ein fehler drinnen, im moment gibts immer die selbe zahl aus, und zwar "10000".


```
public class DezimalBinaer {
	
	private final static int BINARY_DIM = 4; //bit
	
	
	public static void main(String args[]) {
		
		int decimalNumber = 6;
		
		binaryOutput(binary(decimalNumber));
		
	}
	public static int [] binary(int decimalNumber) {
		int rest = decimalNumber, length = 0;
		while(rest != 0){
			rest /= 2;
			length++;
		}
		return new int [length];
		
	}//Umrechnung auf Binaer-Zahlen, und Belegung des Arrays
	public static int [] decToBin (int decimalNumber, int[] array){
		int rest = decimalNumber, k= array.length-1;
		while(rest != 0){
			if(rest % 2 == 0){
				array[k]= 0;
			}
			else{
				array[k]= 1;
			}
			k--;
			rest /= 2;
		}
		return array;
	}
	public static void binaryOutput(int[] binaryArray){ //Ausbage der Umgewandelten Zahlen
		int [] test = decToBin (16, binary(16));
		for(int i=0; i< test.length;i++){
			System.out.print(test[i]);
		}	
	}
}
```

lg Susi


----------



## axl (13. Apr 2012)

hab das problem schon gelöst...

danke trotzdem für die Antworten!!

[JAVA=42]public class BinaryConversion {

	private final static int BINARY_DIM = 4; // bit

	public static void main(String args[]) {

		int decimalNumber = 6;
		binaryOutput(binary(decimalNumber));

	}

	private static int[] binary(int decimalNumberToConvert) {
		int res = 0;
		int[] binaryNumber = new int[BINARY_DIM];
		while (res < BINARY_DIM) {

			binaryNumber[res] = decimalNumberToConvert % 2;
			decimalNumberToConvert = decimalNumberToConvert / 2;
			res++;

		}
		return binaryNumber;
	}

	private static void binaryOutput(int[] binaryArray) {

		for (int res = BINARY_DIM - 1; res >= 0; res--) {
			System.out.print(binaryArray[res]);
		}

	}
}

[/code]


----------



## susi88 (13. Apr 2012)

OK, danke, 
ich würde sagen das thema is erledigt!


----------

