Руководство по стилю аргументов приложения командной строки

У меня была аналогичная проблема, и google привел меня на эту страницу. Мне нужно было вычислить контрольную цифру для большого количества штрих-кодов для программы генерации меток. Сначала я начал с вариации ответа Лучано Карвалью выше, но мне было немного любопытно, что кастинг строки привязан к int. Я подозревал, что могу немного улучшить производительность.

Обратите внимание, что проверка выполняется за пределами этой функции. Эта функция больше построена для скорости, так как я генерирую большое количество штрих-кодов.

int CalculateCheckDigit(ulong label)
{
    int sum = 0;
    bool isEven=true;
    while(label>0)
    {
        if(isEven)
            sum += (int)(label % 10) * 3;
        else
            sum += (int)(label % 10) * 1;
        isEven = !isEven;
        label /= 10;
    }

    return (10 - (sum % 10)) % 10;
}
11
задан JoePasq 31 August 2011 в 01:42
поделиться