블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

C# 진법전환

Programming/C# / 2010. 7. 22. 13:47

진수를 변환하기 위해서는 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);

   
  }
 }
}

출처 : http://www.ispkorea.com/70

반응형
Posted by blueasa
, |