문제

3.5 .net. (C#)

ASCII를 BCD (C#)로 변환하는 코드를 참조하십시오.

도움이 되었습니까?

해결책

정수 Num은 BCD 값을 저장합니다 ... 더 깨끗한 방법 일 수 있지만 이것은 트릭을 수행해야합니다. 그러나 나는 다시 왜 물어볼 것인가?

char[] str = "12345".ToCharArray();
int num = 0;
for (int i = 0; i < str.Length; i++)
{
    var val = str[str.Length -1 - i] - 48;
    if (val < 0 || val > 9) 
        throw new ArgumentOutOfRangeException();
    num += val << (4 * i);
}

Console.WriteLine(num.ToString("x2")); //must be viewed as hex

... LINQ에서하고 싶다면 (이것은 바운드 점검이 없습니다) ...

int vs = "12345".ToCharArray().Reverse()
                .Select((c, i) => (c-48) << 4 * i)
                .Sum();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top