Hallo Leute,
Ich hab an der Uni gerade die Aufgabe ein Programm zu schreiben das eine Binärzahl einliest und die richtige Dezimalzahl dazu ausgibt. Davon soll ich jeweils Versionen mit while-, do while- und for- Schleife schreiben. (eine funktionierende Version würde mir schonmal reichen ).
Ich bin schon soweit gekommen das es mir die richtigen Ergebnisse ausrechnet, aber bekomm die einzelnen Ergebnisse nicht aus der schleife heraus, damit ich Sie einzeln addieren kann...
Bin mittlerweile echt am verzweifeln :/
Sonst finde ich nur Lösungen im Netz die schon mit arrays und umwandeln von integer in stringer rechnen und soweit sind wir in der Vorlesung noch nicht
Ich hoffe mein Ansatz ist nicht komplett falsch.
Würde mich freuen wenn mir jemand weiterhelfen kann.
Vielen Dank im Voraus.
Ich hab an der Uni gerade die Aufgabe ein Programm zu schreiben das eine Binärzahl einliest und die richtige Dezimalzahl dazu ausgibt. Davon soll ich jeweils Versionen mit while-, do while- und for- Schleife schreiben. (eine funktionierende Version würde mir schonmal reichen ).
Ich bin schon soweit gekommen das es mir die richtigen Ergebnisse ausrechnet, aber bekomm die einzelnen Ergebnisse nicht aus der schleife heraus, damit ich Sie einzeln addieren kann...
Bin mittlerweile echt am verzweifeln :/
Sonst finde ich nur Lösungen im Netz die schon mit arrays und umwandeln von integer in stringer rechnen und soweit sind wir in der Vorlesung noch nicht
Java:
import java.util.Scanner;
public class Umwandlung_Binär_Dezimal {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int teiler=100000; //teiler um an die jeweilige Stelle der binärzahl zu kommen
int exp=5;
int binär;
int dezimal;
System.out.println("Integer eingeben (Binär): ");
binär= input.nextInt();
while(teiler >1 && exp >0){ //schleife um teiler und exponent zu verkleinern
teiler = teiler / 10;
exp --;
if(binär / teiler % 10 == 1 ){// ob an jeweiliger stelle 1 oder keine 1
dezimal = (int) Math.pow(2, exp);
}else{
dezimal =0;
}
System.out.println(dezimal);
}
}
}
Ich hoffe mein Ansatz ist nicht komplett falsch.
Würde mich freuen wenn mir jemand weiterhelfen kann.
Vielen Dank im Voraus.