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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.72
SaHR
0 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 23
#1

Длинные числа в С++ - C++

07.04.2011, 14:20. Просмотров 3862. Ответов 11
Метки нет (Все метки)

Я так понемаю самое большое число long long тоесть до милиарда????
а если больше!
100000000000000000 такое(целое) как сни работать +1 или *2 ?????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2011, 14:20
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Длинные числа в С++ (C++):

Длинные числа в c++ - C++
Делаю прогу, которая работает с длинными числами, хранятся такие числа у меня в классе, в массиве, состоящем из unsigned short int, в...

Длинные целые числа - C++
Подскажите пожалуйста как разработать поле типа : длинные целые числа ?

Длинные числа. Умножение отрицательных - C++
Здравствуйте, помогите пожалуйста как сделать, чтобы и отрицательные числа перемножались? #include <iostream> #include<conio.h> ...

Реализовать длинные целые числа в виде класс - C++
здравствуйте,только начала изучение классов,помогите с решением задачи:нужно реализовать длинные целые числа в виде класса с конструктором...

Как сравнить длинные числа через list? - C++
Знаю, как это сделать с помощью vector, а вот с list, увы нет. Вот код с попощью vector, может немного надо поменять: int...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
07.04.2011, 14:30 #2
Есть double, но он тоже ограничен.
Если нужны очень большие числа - пишите собственную реализацию (представление числа в виде массива и реализация операций) или используйте готовые библиотеки. Тогда длины чисел, по сути, ограниченны только объёмом свободной памяти. Другой вопрос - сколько будут выполняться операции на таких числах...
neske
1482 / 849 / 76
Регистрация: 26.03.2010
Сообщений: 2,917
07.04.2011, 15:14 #3
гуглите на тему "длинная арифметика".
Серёга,
1 / 1 / 0
Регистрация: 21.02.2011
Сообщений: 28
07.04.2011, 22:12 #4
neske, самый умный))))
Байт
Эксперт C
15976 / 10244 / 1535
Регистрация: 24.12.2010
Сообщений: 19,326
07.04.2011, 22:19 #5
SaHR, Я поискал на форуме,
нашёл 3889 ответов
Uxxzz
9 / 9 / 0
Регистрация: 05.04.2011
Сообщений: 67
08.04.2011, 01:47 #6
ну если под long int выделяется 4 байта памяти и его диапазон от -2 147 483 648 до 2 147 483 647
под тип double выделяется 8 байтов памяти и его диапазон от 2.2e-308 до 1.8е308 есть еще один вариант..это long double под его выводиться 16 байт памяти, а вот диапазон забыл=)
Байт
Эксперт C
15976 / 10244 / 1535
Регистрация: 24.12.2010
Сообщений: 19,326
08.04.2011, 08:50 #7
Цитата Сообщение от Uxxzz Посмотреть сообщение
ну если под long int выделяется 4 байта памяти и его диапазон от -2 147 483 648 до 2 147 483 647
под тип double выделяется 8 байтов памяти и его диапазон от 2.2e-308 до 1.8е308 есть еще один вариант..это long double под его выводиться 16 байт памяти, а вот диапазон забыл=)
Не думаю, что все эти варианты удовлетворят ТС. long int и даже long long ему явно мало. А long double
будет давать неточный результат (значащих-то цифр всего 14) и тоже маловат. Нет, если разговор пошел о таких числах, без длинной арифметики не обойтись. Самый простой (но не самый эффективный) путь - представить числа в виде строк десятичных знаков и вспомнить как нас учили считать столбиком в 3-м классе. При этом очень просто организовать их ввод и вывод.
Впрочем, повторяю, библиотек на эту тему - немеряно.
Uxxzz
9 / 9 / 0
Регистрация: 05.04.2011
Сообщений: 67
08.04.2011, 13:54 #8
а тип ansigned long double может подойти....????
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
08.04.2011, 14:05 #9
Uxxzz, Смотря насколько длинные числа вам нужны...
Если реально большие - нет.
Ну и если unsigned long double вообще существует в природе.

Добавлено через 7 минут
gcc говорит что такого типа он не знает.
Собственно да, логично. signed/unsigned онли для интегральных типов.
prazuber
109 / 109 / 3
Регистрация: 29.04.2010
Сообщений: 240
08.04.2011, 15:12 #10
unsigned long double нормальный тип, студия нормально на него отреагировала. Другое дело, врядли ТС это подойдет, я бы посоветовал написать свой класс (число представить как массив цифр).
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.04.2011, 15:45 #11
PraZuBeR, мне 2010 студия сказала на unsigned long double "недопустимое сочетание спецификаторов типа".
И если уж заговорили о студии, то в ней double и long double - синонимы и "весят" по 8 байт каждый. Так что выигрыша не получится...
Байт
Эксперт C
15976 / 10244 / 1535
Регистрация: 24.12.2010
Сообщений: 19,326
08.04.2011, 16:13 #12
Uxxzz, Тут выбор простой. Или ты ограничиваешь числа, с которыми собираешься работать, или забываешь о типах встроенных и начинаешь работать с длинной арифметикой в одном из их многообразном представлении. Все эти long-long-long-doudle-long-unsigned-long - те самые припарки, которые мертвому, увы, не помогли/

Добавлено через 2 минуты
100000000000000000 такое(целое) как сни работать +1 или *2 ?????
Плохо, плохо сни будут работать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2011, 16:13
Привет! Вот еще темы с ответами:

Считая что в двух строках находятся очень длинные целые числа, сформировать третью строку - сумму этих чисел - C++
Вообщем, задание вот такое: Даны две символьные строки, состоящие только из цифр (длина каждой более 10 символов). Считая, что в этих...

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

Класс "длинные числа" - C++
Нужно создать класс длинных чисел с конструкторами, перегрузками операций и прочее. Само число вводится при помощи строки, которая затем...

"Длинные" числа - C++
Здравствуйте, простите что отвлекаю. Я ещё только начинаю самостоятельно учиться программировать на С++. Вот double выводит ну гдето...


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

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

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