Binär in Dezimal

valentina2013

Bekanntes Mitglied
Hallo, ich möchte eine binäre Zahl die als String eingelesen wird in dezimale umwandeln. Hir meine Q.Code:
Java:
public class BinaryToDezimal {
	public static void main(String[] args) {
		
	System.out.println("Geben sie eine binäre Zahl ein:");
	Scanner eingabe=new Scanner(System.in);
	String k=eingabe.nextLine();
	int zahl=0;
	double pow = 0;
		for (int i = k.length()-1; i >= 0; i--){
			zahl = zahl+ ((k.charAt(i)) * (int) Math.pow(2, pow));
			pow++;
		}
		System.out.println(zahl);
	}
ich glaube zu wissen wo mein Problem liegt:der String inhalt kann nicht als int (zeile 11) eingelesen/umgewandelt werden. Könnt ihr mir dabei helfen dies umzugehen??
Danke
 

Tobse

Top Contributor
Zeile 11 ist [c]pow++[/c]. Was du aber in zeile 10 machst [c].charAt(i)[/c] ist völlig sinnlos, weil der ASCII-Wert eine Zeichens nichts mit dem Zeichen an sich zu tun hat. Prüfe stadtdessen mit [c]==[/c]: [c]if (k.charAt(i) == '1')[/c]
 

valentina2013

Bekanntes Mitglied
habe so umgeändert
Java:
public class BinaryToDezimal {
	public static void main(String[] args) {

		System.out.println("Geben sie eine binäre Zahl ein:");
		Scanner eingabe = new Scanner(System.in);
		String k = eingabe.nextLine();
		char[] ziffer = k.toCharArray();
		int zahl = 0;
		
		for (char a: ziffer) {
			zahl = 2 * zahl + (a - '0');
		}
		
		System.out.println(zahl);

	}

}

es funktioniert. verstehe aber nicht was das
Java:
zahl = 2 * zahl + (a - '0');
macht :(
 

Tobse

Top Contributor
es funktioniert. verstehe aber nicht was das
Java:
zahl = 2 * zahl + (a - '0');
macht :(

Das nutzt die Tatsache, dass die Zeichen
Code:
0
und
Code:
1
im ASCII-Zeichensatz direkt aufeinander folgen (48 ist 0, 49 ist 1). In Java ist ein
Code:
char
das gleiche wie ein
Code:
short
. Wennd ua lso schreibst
Java:
'1' - '0'
Compileirt das der Compiler nach
Java:
49 - 48
und das Ergebnis ist
Code:
1
.

Ist nun also das Zeichen ein '1', ist [c]a - '0'[/c] 1, ist es ein '0', ist [c]a -'0'[/c] 0. Im nächsten durchgang wird die Zahl mit zwei multipliziert. War also das vorherige Zeichen ein '1', wirkt sichd as aus. Webnn es ein '0' war, nicht.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Binär zu Dezimal Java Basics - Anfänger-Themen 16
J Dezimal in Binär (Array) Java Basics - Anfänger-Themen 2
Z Dezimal > Binär-Umrechnung Logikfehler? Java Basics - Anfänger-Themen 8
K Erste Schritte Dezimal in binär Java Basics - Anfänger-Themen 17
S Umwandlung Binär in Dezimal (ohne array etc.) Java Basics - Anfänger-Themen 6
S Umrechner (Dezimal, Hexadezimal und Binär) Java Basics - Anfänger-Themen 3
C dezimal in binär Java Basics - Anfänger-Themen 3
M Binär -> Dezimal Java Basics - Anfänger-Themen 11
N Umrechung Binär in Dezimal und Hexadezimal Java Basics - Anfänger-Themen 7
B Dezimal Binär? Java Basics - Anfänger-Themen 10
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
C Hilfe bei Umrechnung von dezimal nach binär Java Basics - Anfänger-Themen 9
X Wie kann man ein Regex erstellen, die 8-Bit-Binär-Zahlen darstellen. Java Basics - Anfänger-Themen 1
A Dezinal in Binär Recursiv Java Basics - Anfänger-Themen 6
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
parrot Binär Addieren Java Basics - Anfänger-Themen 21
F Erste Schritte Binär zahle auf 8 stellen aufüllen Java Basics - Anfänger-Themen 2
Orkanson Long Binär darstellen Java Basics - Anfänger-Themen 1
W Dezimalzahl in Binär umwandeln - Was sollte ich an meinem Programm verbessern? Java Basics - Anfänger-Themen 5
L String in Binär umwandeln Java Basics - Anfänger-Themen 4
ubaro1 Operatoren Der Tide Operator und positive Ganzzahlen in Binär Java Basics - Anfänger-Themen 1
T Erste Schritte Nachkommstellen in Binär mit Vekotoren Java Basics - Anfänger-Themen 3
M hexadezimal in binär mit Hilfe von Shift-Operatoren Java Basics - Anfänger-Themen 6
R Dezimalzahlen zu Binär Java Basics - Anfänger-Themen 3
B datentyp in binär umwandeln Java Basics - Anfänger-Themen 5
S binär string Java Basics - Anfänger-Themen 10
N Binär suchen: Java Basics - Anfänger-Themen 4
E Methoden umrechnung binär/oktal/hexadezimal in dezimalsystem (Methode) Java Basics - Anfänger-Themen 1
A double and add algorithmus für elliptische kurven/ integer binär darstellen Java Basics - Anfänger-Themen 14
K Binär Logisch Und, logisch Oder, subtrahieren Java Basics - Anfänger-Themen 8
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
eLogic .txt Testdatei to Binär Java Basics - Anfänger-Themen 2
F Hex zu Binär Java Basics - Anfänger-Themen 7
Shanks Problem bei Binär überprüfung Java Basics - Anfänger-Themen 3
S Array Daten in Binär Datei schreiben/lesen Java Basics - Anfänger-Themen 11
H Java Double in Binär, Hex oder Octalzahl wandeln Java Basics - Anfänger-Themen 3
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
N Binär Datei kopieren Java Basics - Anfänger-Themen 2
T longs binär verarbeiten Java Basics - Anfänger-Themen 4
G Objekte binär speichern und später wieder einlesen? Java Basics - Anfänger-Themen 7
G char[] binär schreiben? Java Basics - Anfänger-Themen 2
V Binär + Hexadezimal Java Basics - Anfänger-Themen 3
V String mit Hexadezimalzahlen in Binär umwandeln Java Basics - Anfänger-Themen 2
A Binär-Datei versenden übers Internet Java Basics - Anfänger-Themen 2
R String nach Binär-Form Java Basics - Anfänger-Themen 3
Ostkreuz Methoden Von Dezimal zu Hexadezimal Methode toHex Java Basics - Anfänger-Themen 2
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
P Dezimal zu Hexadezimalzahl Funktion Java Basics - Anfänger-Themen 5
D Dezimal zu Dual mit Rückgabewert Java Basics - Anfänger-Themen 39
G Dezimal zu Binärcode Programm Java Basics - Anfänger-Themen 9
D Umrechnung dezimal -> oktal | signed/unsigned? Java Basics - Anfänger-Themen 1
L Dezimal- zu Binärsystem Java Basics - Anfänger-Themen 4
P 32 Bit Binärzahl Umwandeln in Dezimal Java Basics - Anfänger-Themen 8
D römische Zahlen in Dezimal ausgeben Java Basics - Anfänger-Themen 9
dave253 IEEE-Norm in Dezimal Java Basics - Anfänger-Themen 12
W Umwandeln von Dezimal in Dual - Ausgabe incl. Rechenschritte Java Basics - Anfänger-Themen 11
H Erste Schritte Uhrzeit anzeigen in Minuten Dezimal Java Basics - Anfänger-Themen 8
F Erste Schritte Dezimal in Hexadezimal Java Basics - Anfänger-Themen 5
F Erste Schritte [GUI] Dual in Dezimal rechnen Java Basics - Anfänger-Themen 5
N Compiler-Fehler Dezimal to binary Java Basics - Anfänger-Themen 2
C Dezimal- und InputVerifier/FocusListener Probleme Java Basics - Anfänger-Themen 3
E Hexadezimal in Dezimal Java Basics - Anfänger-Themen 25
G Java Dezimal Zahlen Internazialisation Problem Java Basics - Anfänger-Themen 7
M Verständnisfrage zur Zahlenumwandlung (Dezimal-->Dual) Java Basics - Anfänger-Themen 25
U Dezimal zu Hexadezimal rekursive Funktion Java Basics - Anfänger-Themen 8
F dezimal zu hexadezimal Java Basics - Anfänger-Themen 14
V Tool zum Umrechnen Dezimal in Hex Java Basics - Anfänger-Themen 7
B Dezimal --> Hex Java Basics - Anfänger-Themen 3
M String(Binärzahl) in Dezimal umwandeln Java Basics - Anfänger-Themen 4
S Dual in Dezimal umwandeln? Java Basics - Anfänger-Themen 24
G Dezimal zu Hexadezimal Java Basics - Anfänger-Themen 2
S Dezimal- in Hexadezimalzahl umwandeln Java Basics - Anfänger-Themen 4
M wie hexadezimal in dezimal wandeln? Java Basics - Anfänger-Themen 16
O Dezimal in Dual...Arraygröße & Runden Java Basics - Anfänger-Themen 4
X Dezimal/-Hexcode in lebares format umwandeln Java Basics - Anfänger-Themen 4
S dezimal od. hexadezimal Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben