Feedback

C# - Binärstring int Dezimalwert umrechnen

Veröffentlicht von am 24.06.2006
(2 Bewertungen)
Diese Funktion rechnet einen String (z.B. "1011") in einen Dezimalwert (11) um.
Der übergebene String wird auf Gültigkeit geprüft. Der maximale Wert beträgt 2^31.
private int BinaryStringToInt32(string binString)
{
    int Stringlänge = binString.Length;
    int Rückgabe = 0;
    if (!System.Text.RegularExpressions.Regex.IsMatch(binString, "[01]{" + Stringlänge + "}") || Stringlänge > 31)
        throw new Exception("Ungültige Zeichenfolge");
    else
        for (int i = 0; i < Stringlänge; i++)
            if (binString[i] == '1')
                Rückgabe += (int)Math.Pow(2, Stringlänge - 1 - i);
    return Rückgabe;
}
Abgelegt unter binärstring, dezimal.

1 Kommentare zum Snippet

herbivore schrieb am 09.12.2006:
In .NET gibt es fast alles, so auch die Umwandlung eines binären String in einen Int:
int i = Convert.ToInt32 (binString, 2);
BTW: Zweierpotenzen von Integer-Zahlen berechnet man besser mit dem Shift operator <<
 

Logge dich ein, um hier zu kommentieren!