Binärzahl in Dezimalzahl umwandeln?
Konnte jemand mich helfen ?
Schreiben Sie eine Klasse Umrechnung, welche acht Binärziern (also jeweils 0 oder 1) als int von der Konsole einliest. Diese acht Binärziern repräsentieren eine Binärzahl, welche Sie in ihre Dezimalrepräsentation umrechnen und das Ergebnis auf der Konsole ausgeben sollen. Beschreiben Sie vor der Implementierung, als Kommentar, wie das Ergebnis anhand der Eingabe berechnet werden kann. Überlegen Sie sich genau wie Sie dieses Problem implementieren können bevor Sie anfangen.
Beispiel: Angenommen, Sie lesen die acht Ziffern 1 1 1 1 0 1 1 1 (in dieser Reihenfolge) von der Konsole ein. Diese Ziffern repräsentieren die Zahl (11110111)2, welche der
Dezimalzahl 247 entspricht.
3 Antworten
Irgendwie scheint es mir so, als ob hier jemand einfach eine Aufgabe eins zu eins kopiert hat, weil er sie nicht selber lösen will.
Beim nächsten mal würde ich die Zeilenumbrüche nicht übernehmen und auch die ff-Ligatur musst du ersetzen.
Zum Inhalt: Es ist kindisch leicht.
Lese die Zahl von rechts nach links und multipliziere die jeweilige Stelle mit 2^x wobei x für die x-te Zahl steht, die du gerade bearbeitest, angefangen bei 0.
Hier wäre das:
Den Code kannst du ja selber schreiben wenn du nicht mal die Sprache angibst.
Pseudocode:
int zahl = 0;
int binärzahl[] = [1,0,0,0,1,0,0,0];
for( int i = 0; i < 8; i++ ) {
if(binärzahl[7-i] == 1){
zahl+=Math.pow(2, i);
}
}
print(zahl)
Schau dir mal an wie Binärzahlen aufgebaut sind, dann wirst du es verstehen.
Vielleicht hilft diese Visualisierung:
128 64 32 16 8 4 2 1
0 1 0 1 0 1 0 1
--------------------
64 + 16 + 4 + 1 = 85 (überall wo eine 1 drunter steht)
-> 01010101 = 85
Man geht also die Ziffern von rechts durch, und WENN eine 1 da steht, dann addiert man 2^Stelle(von rechts, beginnend bei 0ter Stelle) zum Ergebnis.
Konnte jemand mich helfen ?
klar doch. Wenn du uns einen Ansatz lieferst oder aufzeigst, wo du nicht weiterkommst ... und zumindest die Programmiersprache nennst
Sonst generell:
- Informier dich über IO-Befehle
- Informier dich, wie du Binär zu Dezimal umrechnen kannst.