Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2010, 09:41   #1
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию Операции с большими числами

Кто может подстказать логику оперций с большими целыми числами. Число разбивается на разряды которые войдут в диапазон long, можно конечно и на фиксированное количество цифр, важно не это

Код:
class LongNum        //класс операций с большими числами
 {long num[32];
   public:
    LongNum (char*);   //конструктор, передаем число как строку
    char* GetNum();   //выводит число в виде строки, иначе просто не войдет ни в какой диапазон
    SetNum (char*);   //работает как конструктор
//далее начинаются проблемы
    LongNum Plus     (LongNum, LongNum);
    LongNum Minus   (LongNum, LongNum);
    LongNum Multiply (LongNum, LongNum);
    LongNum Division (LongNum, LongNum);
    LongNum Power (LongNum, LongNum);
 }
Кто может подсказать как реализовать Plus, Minus, Multiply, Division, Power...
особенно интересны ваши предложения по поводу метода Power, заметте оба аргумента являются большими числами, поэтому простым умножением не так просто будет найти степень, нужен другой подход
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 06.05.2010, 10:31   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Сложение, умножение
Возведения в степень - немного изменить под строки или массив цифр
Деление тоже столбиком можно http://ru.wikipedia.org/wiki/Деление_столбиком
Также поиск по форуму, видил уже несколько раз подобные темы.
eoln вне форума Ответить с цитированием
Старый 06.05.2010, 10:46   #3
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Раз так много вопросов в последнее время на эту тему, напишу я класс для работы с длинными числами. Если не срочно, то можешь подождать.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 06.05.2010, 11:38   #4
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

В примерах не совсем то, там число представляется как двоичный массив, мне же желательно разбиение числа на разряды которые входят в диапазон long

Здесь нашел класс с почти всеми операциями на числами
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.

Последний раз редактировалось Stilet; 06.05.2010 в 11:50.
mrChester вне форума Ответить с цитированием
Старый 08.12.2010, 15:22   #5
fan_cpp
Новичок
Джуниор
 
Регистрация: 08.12.2010
Сообщений: 2
Восклицание HugeInt

Вот сам писал, мне его на экзамен задавали там все подробно розписано что к чему и как его вообще писать, класс OpenSource так что берите на здоровье дописывайте и розпространяйте под лицензией GPL. Удачи
Ссылка: HugeInt
fan_cpp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Работа с большими числами airwind Помощь студентам 4 08.12.2010 15:26
Работа с большими числами в Дельфи motorway Общие вопросы Delphi 5 02.05.2010 02:14
Работа с большими числами (делфи, шифрование RSA) WinApi Помощь студентам 1 05.06.2009 20:43
Работа с большими числами SanekIrk Общие вопросы Delphi 3 11.07.2008 22:11
работа с большими числами sasadabest Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.10.2007 10:51