Sử dụng lớp Convert.ToInt32 để thực hiện mục đích chuyển đổi một chuỗi nhị phân thành một số nguyên.
Giả sử chuỗi nhị phân của chúng ta là -
string str = "1001";
Bây giờ mỗi ký tự được phân tích cú pháp -
try {
//Parse each char of the passed string
val = Int32.Parse(str1[i].ToString());
if (val == 1)
result += (int) Math.Pow(2, str1.Length - 1 - i);
else if (val > 1)
throw new Exception("Invalid!");
} catch {
throw new Exception("Invalid!");
} Kiểm tra ở trên cho từng ký tự trong chuỗi đã truyền, tức là “100” bằng cách sử dụng vòng lặp for. Tìm độ dài của chuỗi bằng phương thức length () -
str1.Length
Ví dụ
Bạn có thể thử chạy đoạn mã sau để chuyển đổi một chuỗi nhị phân thành một số nguyên trong C #.
using System;
class Program {
static void Main() {
string str = "1001";
Console.WriteLine("Integer:"+ConvertClass.Convert(str));
}
}
public static class ConvertClass {
public static int Convert(string str1) {
if (str1 == "")
throw new Exception("Invalid input");
int val = 0, res = 0;
for (int i = 0; i < str1.Length; i++) {
try {
val = Int32.Parse(str1[i].ToString());
if (val == 1)
res += (int)Math.Pow(2, str1.Length - 1 - i);
else if (val > 1)
throw new Exception("Invalid!");
} catch {
throw new Exception("Invalid!");
}
}
return res;
}
} Đầu ra
Integer:9