진수를 변환하기 위해서는 Convert 클래스만 아시면 됩니다.


일단 X진수에서 X진수로 변환하기 위해서는 10진수로 변환을 하셔야 합니다.


예를 들어 2진수를 16진수로 변환하기 위해서는 2진수 -> 10진수 -> 16진수 이렇게 되는거죠....


그럼 여기서 2진수 -> 10진수로 변환하기 위해서 Convert.ToInt32 메서드를 사용 하시면 되고 10진수 -> 16진수로 변환하기 위해서 Convert.ToString 메서드를 사용 하시면 됩니다.


1. 2진수를 10진수로 변환하는 법


Convert.ToInt32(string value, int fromBase)


첫번째 인자는 10진수로 변환 할 값입니다. 2진수를 10진수로 변환하기 위해서는 첫번째 인자에 "10101010" 이런식으로 2진수를 string 형으로 입력 하시면 됩니다.


두번째 인자는 "첫번째 인자가 몇 진수인가?" 를 나타내는 인자 입니다.

2진수니까 숫자 2를 입력하시면 됩니다.


예) 2진수 10101010 을 10진수로 변환

int result = Convert.ToInt32("10101010", 2);

Console.WriteLine(result); //170 입니다.


2. 10진수를 2진수로 변환하는 법...


Convert.ToString(int value, int toBase)


첫번째 인자는 2진수나 8진수, 16진수로 변환 할 10진수 값입니다.

두번째 인자는 "몇 진수로 변환?" 를 나타내는 인자 입니다.


예)10진수 170을 2진수로 변환

string result = Convert.ToString(170, 2);

Console.WriteLine(result); //10101010 입니다.



콘솔로 입력받아 진수를 변환하는 소스는 다음과 같습니다.

나머지 진수 변환은 응용해 보세요....^^;;


using System;

namespace ConsoleApplication1
{
 ///


 /// Class1에 대한 요약 설명입니다.
 ///

 class Class1
 {
  ///
  /// 해당 응용 프로그램의 주 진입점입니다.
  ///

  [STAThread]
  static void Main(string[] args)
  {
   Console.Write("2진수를 16진수로 변환 : ");
   
   // 2진수를 입력 받는다.
   string input2 = Console.ReadLine();

   // 2진수를 10진수로 변환
   int int2 = System.Convert.ToInt32(input2, 2);
   // 10진수를 16진수로 변환
   string output16 = System.Convert.ToString(int2, 16);

   Console.WriteLine("2진수 : " + input2 + " -> 16진수 : " + output16);




   Console.Write("16진수를 2진수로 변환 : ");
   
   // 16진수를 입력 받는다.
   string input16 = Console.ReadLine();

   // 16진수를 10진수로 변환
   int int16 = System.Convert.ToInt32(input16, 16);
   // 10진수를 2진수로 변환
   string output2 = System.Convert.ToString(int16, 2);

   Console.WriteLine("16진수 : " + input16 + " -> 2진수 : " + output2);

   
  }
 }
}

+ Recent posts