■ 16진수 문자열에서 정수 값 구하기 예제

------------------------------------------------------------------------------------------------------------------------

using System;

 

string[] hexadecimalStringArray =

{

    "ff", "12ce", "f0a0", "3bd" , "d43",

    "35", "0"   , "652f", "8Dcc", "4125"

};

 

int hexadecimalStringArrayLength = hexadecimalStringArray.Length;

 

for(int i = 0; i < hexadecimalStringArrayLength; i++)

{

    Console.WriteLine

    (

        "0x{0}\t= {1}",

        hexadecimalStringArray[i],

        GetInteger(hexadecimalStringArray[i])

    );

}

------------------------------------------------------------------------------------------------------------------------

 

■ 16진수 문자열에서 정수 값 구하기

------------------------------------------------------------------------------------------------------------------------

using System;

 

#region 정수 구하기 - GetInteger(hexadecimalString)

 

/// <summary>

/// 정수 구하기

/// </summary>

/// <param name="hexadecimalString">16진수 문자열</param>

/// <returns>정수</returns>

public int GetInteger(string hexadecimalString)

{

    int count = 0;

    int value = 0;

 

    for(int i = hexadecimalString.Length - 1; i >= 0; i--)

    {

        value += GetValue(hexadecimalString[i]) * (int)Math.Pow(0x10, count++);

    }

 

    return value;

}

 

#endregion

#region 값 구하기 - GetValue(character)

 

/// <summary>

/// 값 구하기

/// </summary>

/// <param name="character">문자</param>

/// <returns></returns>

private byte GetValue(char character)

{

    byte value;

 

    switch(character)

    {

        case '1' : value = 1;  break;

        case '2' : value = 2;  break;

        case '3' : value = 3;  break;

        case '4' : value = 4;  break;

        case '5' : value = 5;  break;

        case '6' : value = 6;  break;

        case '7' : value = 7;  break;

        case '8' : value = 8;  break;

        case '9' : value = 9;  break;

        case 'A' :

        case 'a' : value = 10; break;

        case 'B' :

        case 'b' : value = 11; break;

        case 'C' :

        case 'c' : value = 12; break;

        case 'D' :

        case 'd' : value = 13; break;

        case 'E' :

        case 'e' : value = 14; break;

        case 'F' :

        case 'f' : value = 15; break;

        default  : value = 0;  break;

    }

 

    return value;

}

 

#endregion

------------------------------------------------------------------------------------------------------------------------

Posted by 사용자 icodebroker
TAG

댓글을 달아 주세요