Feedback

C# - Binärstring int Dezimalwert umrechnen

Veröffentlicht von am 6/24/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 12/9/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!