C# 진법전환
진수를 변환하기 위해서는 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
'Programming > C#' 카테고리의 다른 글
.net에서 시스템 트레이아이콘 예제 전체공개 (0) | 2010.07.22 |
---|---|
[Link] C# 관련 사이트 (0) | 2010.07.22 |
is 와 as (0) | 2010.07.21 |
region을 사용해서 코드를 깔끔하게 (0) | 2010.07.21 |
OnDragEnter, OnDragDrop을 이용하여 Drag and Drop된 파일경로 받아오기. (0) | 2010.07.21 |