C# :: Aufgabe #189 :: Lösung #2

9 Lösungen Lösungen öffentlich
#189

Zahlen umwandeln: Binär zu Dezimal

Anfänger - C# von Nachbar - 13.09.2017 um 14:19 Uhr
Schreibe eine Funktion, die Zahlen aus dem Dualsystem in Zahlen des Dezimalsystems umwandelt.

Beispiel:

Binär: 11010
Dezimal: 26
#2
vote_ok
von DBqFetti (2480 Punkte) - 15.09.2017 um 22:57 Uhr
Quellcode ausblenden C#-Code
using System;

public class Program {
  public static void Main() {
    Console.WriteLine(BinToLong("11010"));
  }

  static long BinToLong(string bin) {
    int maxLength = sizeof(ulong) * 8;
    if(bin.Length > maxLength) {
      throw new ArgumentException("String is too long. Current lenght is " + bin.Length + ". Maximum length is " + maxLength);
    }

    long longToReturn = 0;
    for(long bit = 1, i = bin.Length - 1; i > -1; bit <<= 1, i--) {
      if(bin[(int)i] == '1') {
        longToReturn |= bit;
      } else if(bin[(int)i] != '0') {
        throw new ArgumentException("String is not binary (only 1 and 0)");
      }
    }

    return longToReturn;
  }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2094619

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.