Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

이진 문자열을 정수로 변환하는 C# 프로그램


2진 문자열을 정수로 변환하려는 목적을 달성하려면 Convert.ToInt32 클래스를 사용하십시오.

이진 문자열이 −

라고 가정해 보겠습니다.
string str = "1001";

이제 각 문자가 구문 분석됩니다 -

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!");
}

for 루프를 사용하여 전달된 문자열의 각 문자, 즉 "100"에 대해 위를 확인하십시오. length() 메서드를 사용하여 문자열의 길이 찾기 -

str1.Length

예시

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;
   }
}

출력

Integer:9