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

#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
Beispiel:
Binär: 11010
Dezimal: 26
#2

von DBqFetti (2480 Punkte)
- 15.09.2017 um 22:57 Uhr

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
Seite 1 von 0
1