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;
}
1 Kommentare zum Snippet