Число неопределенной битности
От: Srv  
Дата: 06.10.07 08:14
Оценка:
Добрый день!
Возникла необходимость работать не только с 32 битовой арифметикой, но и 64, 128, 256, 512 и т.д. То есть необходимо представить скажем 512 битное число в виде uchar (ну это уже детали реализации) и иметь простые арифметические операции к таким числам (+, -, побитовая установка, <<, >>), сравнения <,>, >= и т.д. Если по поводу операциий как бы не много понятно что они реализуются с помощью operator то вот как организовать подобные числа с помощью структуры или шаблонов? подскажите поподробнее может кто сталкивался.
Спасибо!
Re: Число неопределенной битности
От: Erop Россия  
Дата: 06.10.07 09:19
Оценка:
Здравствуйте, Srv, Вы писали:

Srv>Возникла необходимость работать не только с 32 битовой арифметикой, но и 64, 128, 256, 512 и т.д.

А битность чисел заранее известна, или должна меться динамически?

Еслиизвестна заранее, то как бы нет особых проблем... Хранишь массив unsigned int и складываешь/умножаешь/вычитаешь с переносом. Ну а деление пишешь в столбик, руками.
Вообще всё делаешь "в столбик", только в качестве "цыфлы" используешь сразу целый unsigned int...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: Число неопределенной битности
От: Cyberax Марс  
Дата: 06.10.07 09:31
Оценка: +1
Здравствуйте, Srv, Вы писали:

Srv> подскажите поподробнее может кто сталкивался.

Берешь GMP и не мучаешься, там все есть: http://gmplib.org/
Sapienti sat!
Re: Число неопределенной битности
От: deniok Россия  
Дата: 06.10.07 09:37
Оценка:
Здравствуйте, Srv, Вы писали:

Arbitrary-precision arithmetic
Re[2]: Число неопределенной битности
От: Srv  
Дата: 06.10.07 11:13
Оценка:
Здравствуйте, Erop, Вы писали:

E>Еслиизвестна заранее, то как бы нет особых проблем... Хранишь массив unsigned int и складываешь/умножаешь/вычитаешь с переносом. Ну а деление пишешь в столбик, руками.


Да известна.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.