.net предоставляет api для преобразования ascii в bcd?

StackOverflow https://stackoverflow.com/questions/1820455

  •  10-07-2019
  •  | 
  •  

Вопрос

Платформа от 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