Добрый день!
Возникла необходимость работать не только с 32 битовой арифметикой, но и 64, 128, 256, 512 и т.д. То есть необходимо представить скажем 512 битное число в виде uchar (ну это уже детали реализации) и иметь простые арифметические операции к таким числам (+, -, побитовая установка, <<, >>), сравнения <,>, >= и т.д. Если по поводу операциий как бы не много понятно что они реализуются с помощью operator то вот как организовать подобные числа с помощью структуры или шаблонов? подскажите поподробнее может кто сталкивался.
Спасибо!
Здравствуйте, Srv, Вы писали:
Srv>Возникла необходимость работать не только с 32 битовой арифметикой, но и 64, 128, 256, 512 и т.д.
А битность чисел заранее известна, или должна меться динамически?
Еслиизвестна заранее, то как бы нет особых проблем... Хранишь массив unsigned int и складываешь/умножаешь/вычитаешь с переносом. Ну а деление пишешь в столбик, руками.
Вообще всё делаешь "в столбик", только в качестве "цыфлы" используешь сразу целый unsigned int...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Erop, Вы писали:
E>Еслиизвестна заранее, то как бы нет особых проблем... Хранишь массив unsigned int и складываешь/умножаешь/вычитаешь с переносом. Ну а деление пишешь в столбик, руками.