Binärzahl in Dezimalzahl umwandeln?

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.

Woher ich das weiß:Berufserfahrung – Programmierer

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.

Woher ich das weiß:Hobby – Programmieren ist mein Hobby & Beruf
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.