Класс предназначен для операций с числами со знаком. Комбинированных операций со знаковыми и безнаковыми числами там нет, поэтому безнаковые числа DWORD преобразуются транслятором С в знаковые. Т.е. DWORD dw_num = 0x8EDF3155 - становится отрицательным числом.
Вот код для присваивания беззнакового значения:
cBigNumber a; // Неограниченное число.
DWORD dw_num = 0x8EDF3155UL; // Беззнаковое число.
{
a.expand (2); // Память под два слова.
long *pa = (long*) a.code(); // Указатель для модификации кода.
pa [0] = dw_num; // Присвоение числа.
pa [1] = 0; // Нулевое слово для знака.
pa [-1] = 1 + ((long)dw_num < 0); // Число слов.
} // Удалить указатель.
Мы используем файлы cookie и Яндекс Метрику для улучшения работы сайта.
Оставаясь на нашем сайте, Вы соглашаетесь с условиями использования файлов cookie, разрешенных
в настройках Вашего браузера, и Яндекс Метрики. Чтобы ознакомиться с нашими Положениями о
конфиденциальности и об использовании файлов cookie и Яндекс Метрики,
нажмите здесь