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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2009, 11:49   #1
Lawliet32
Пользователь
 
Аватар для Lawliet32
 
Регистрация: 26.11.2009
Сообщений: 34
По умолчанию Классы для чисел большой точности

Доброго времени суток!

Задача состоит в определении структуры класса в котором необходимо хранить числа (в массиве символов = строке) не могу определиться со структурой.. сделал небольшой набросок: (по возможности прокомментируйте и подскажите что добавить/удалить/изменить)

Код:
class HighPrecision
{
	public:
	class Nums
	{
		public:
		int pospoint; \\позиция плавающей точки
		int digcount; \\кол-во цифр
		char *num; \\строка хранящая число
		Nums();
		~Nums();
	};
	int count; \\кол-во чисел
	Nums *a; \\массив чисел
	HighPrecision();
	~HighPrecision();
};
корректно ли использовать эту структуру? что можно добавить для последующей работы?

Далее необходимо будет реализовать сложение/вычитание/деление/умножение... но это я уже сам сделаю если у меня будет рабочая и корректная структура))
Изучаю Си\Си++
Lawliet32 вне форума Ответить с цитированием
Старый 26.12.2009, 12:05   #2
k1r1ch
ACM!
Форумчанин
 
Аватар для k1r1ch
 
Регистрация: 19.06.2009
Сообщений: 382
По умолчанию

Обычно длинная арифметика реализовывается через массив, причем числа хранятся задом наперед:
'3 832 193, 239 311 312 123'
3-2-1-2-1-3-1-1-3-9-3-2-3-9-1-2-3-8-3
А запятая хранится отдельно в виде позиции
Все операции идут "столбиком"
k1r1ch вне форума Ответить с цитированием
Старый 26.12.2009, 12:32   #3
Lawliet32
Пользователь
 
Аватар для Lawliet32
 
Регистрация: 26.11.2009
Сообщений: 34
По умолчанию

Цитата:
Сообщение от k1r1ch Посмотреть сообщение
Обычно длинная арифметика реализовывается через массив, причем числа хранятся задом наперед:
'3 832 193, 239 311 312 123'
3-2-1-2-1-3-1-1-3-9-3-2-3-9-1-2-3-8-3
А запятая хранится отдельно в виде позиции
Все операции идут "столбиком"
Я сам сначала хотел хранить числа в обычном целочисленном массиве, но преподаватель сказал, что легче будет через строку (наверно из-за хранения запятой)

А зачем числа хранить задом наперед? единственное что приходит в голову: для облегчения выполнения операций?

Просто по заданию нужно иметь не менее 2х использующихся классов!
Выше предложенная структура - единственное что приходит мне на ум. Она подойдет для поставленной задачи?
Изучаю Си\Си++
Lawliet32 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с числами большой точности! Lawliet32 Общие вопросы C/C++ 0 25.12.2009 19:54
Delphi проблема в точности.... tanek Помощь студентам 2 25.10.2009 16:06
Не точности по проге Sasuke-sama Общие вопросы C/C++ 3 01.06.2009 19:51
Округление числа до заданной точности Siluet Общие вопросы Delphi 3 15.04.2009 17:39