Форум программистов, компьютерный форум CyberForum.ru

C++

Войти
Регистрация
Восстановить пароль
 
James Swift
38 / 37 / 0
Регистрация: 28.01.2013
Сообщений: 235
Записей в блоге: 1
Завершенные тесты: 1
#1

Свой тип данных позволяющий хранить числа разрядностью в <= 30 - C++

08.05.2016, 11:56. Просмотров 267. Ответов 8
Метки нет (Все метки)

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

Возникла потребность иметь программу позволяющую производить арифметические действия с числами, разрядность которых не превышает 30. Подскажите, как реализовать эту потребность. Возможно создание своего типа, класса, какой-либо алгоритм хранения таких больших чисел. Буду благодарен всему.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2016, 11:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Свой тип данных позволяющий хранить числа разрядностью в <= 30 (C++):

Создать свой тип данных - C++ Builder
Приветствую всех. Мне необходимо создать свой тип данных - сетевой адрес прибора. Физически адрес может состоять из 1 или 4-х байт. Начал...

Создать свой тип данных - C++
Есть класс Bignum, который хранит большие числа: class Bignum { string digits; // Число }; Возможно ли сделать вот...

Как реализовать свой тип данных - C++
Здравсвтуйте,подскажите пожалуйста как реализовать с с++ свой тип данных. Допустим хочу завести массив,где каждому arr будет соответсвовать...

Не получается создать свой тип данных - C++
Всем привет! Подскажите почему компилятор ругается на эти три строчки? MyVector2D():x(0),y(0){} MyVector2D(float x, float...

Создать свой целочисленный тип данных - C++
Здравствуйте, у меня возник вопрос, можно ли создать например целочисленный тип данных, который может принимать только значения от 1 до 4 и...

Свой тип данных для перегрузки функций - C++
Добрый день! Имеется широта и долгота - все FLOAT. Хочу сделать пару функций с одинаковым названием, но с разной реализацией для разных...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programmist5
Заблокирован
08.05.2016, 12:51 #2
Может просто int использовать?
James Swift
38 / 37 / 0
Регистрация: 28.01.2013
Сообщений: 235
Записей в блоге: 1
Завершенные тесты: 1
08.05.2016, 12:53  [ТС] #3
... Ты в курсе про диапазон типа данных int ?
Его диапазон всего 10 разрядов, мне нужно 30...
Programmist5
Заблокирован
08.05.2016, 12:54 #4
Не 10, а 32 разряда, ты сам тупишь.
James Swift
38 / 37 / 0
Регистрация: 28.01.2013
Сообщений: 235
Записей в блоге: 1
Завершенные тесты: 1
08.05.2016, 12:58  [ТС] #5
-2 147 483 648
2 147 483 647
Это диапазон int. Сколько тут разрядов?

Добавлено через 1 минуту
Цитата Сообщение от Programmist5 Посмотреть сообщение
32 разряда
Это степень двойки диапазона...
gng
08.05.2016, 15:51
  #6

Не по теме:

Цитата Сообщение от James Swift Посмотреть сообщение
-2 147 483 648
2 147 483 647
Это диапазон int. Сколько тут разрядов?
Десятичных - десять. Но мы, вроде, в разделе Си++, а не php, поэтому, если не указано явно, логично предположить двоичные разряды.

pav1uxa
1792 / 1632 / 622
Регистрация: 23.01.2014
Сообщений: 5,910
Завершенные тесты: 1
08.05.2016, 18:58 #7
Цитата Сообщение от gng Посмотреть сообщение
Но мы, вроде, в разделе Си++, а не php,

Не по теме:

Ну причем тут php-то, числа в памяти они одинаково хранят))


Цитата Сообщение от James Swift Посмотреть сообщение
Это степень двойки диапазона...
Вы говорите про ту разрядность, которую изучают в математике. В информатике под разрядностью понимают нечто другое. Ознакомьтесь https://ru.wikipedia.org/wiki/%D0%A0...81%D1%82%D1%8C

В Вашем случае так и пишите - "Мне нужно работать с числами ~1 000 000 000 000 000 000 000 000 000 000", или с 1*10^30...

А алгоритм простой. Хранить как массив байт (размер массива зависит от необходимого максимального числа). Реализовать различные операторы сложения\вычитания и т.д. ну это если совсем глупо

Длинная арифметика на Си
gng
08.05.2016, 20:37
  #8

Не по теме:

Цитата Сообщение от pav1uxa Посмотреть сообщение
Ну причем тут php-то, числа в памяти они одинаково хранят))
:-)

Cuellius
181 / 89 / 64
Регистрация: 23.06.2015
Сообщений: 237
Завершенные тесты: 3
09.05.2016, 15:52 #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
http://e-maxx.ru/algo/big_integer
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2016, 15:52
Привет! Вот еще темы с ответами:

Динамический контейнер позволяющий хранить произвольное число элементов одного типа - C++
Динамический контейнер позволяющий хранить произвольное число элементов одного типа (например тесовых строк).

Реализовать класс MyQueue, позволяющий хранить данные любого типа в виде очереди - C++
Здравствуйте уважаемые форумчане, помогите с задачей на шаблоны 1. Реализовать класс MyQueue, позволяющий хранить данные любого типа в...

Как создать свой целочисленный тип данных с пределом от 0 до 500 - C++
Доброе утро. Кто может подсказать, как создать персональный тип данных. Задумка вот в чем. Нужна программа, где по нажатию на &quot;A&quot;...

Свой тип равный одному байту для хранения числа в 3-ой системе счисления - C++
Добрый вечер всем! Мне нужно сделать свой тип,равный 1 байту. Но суть в том что там будет число в 3-ой системе счисления. Рассмотрим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.05.2016, 15:52
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru