Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/163: Рейтинг темы: голосов - 163, средняя оценка - 4.91
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369

Способы работы с очень большими числами

13.10.2016, 13:43. Показов 34786. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, есть необходимость работать с числами выше 100000000000 но Visual Studio уже начинает выкабеливаться и выдавать данные "в минус"
как заставить прогу работать с числами больше секстильона? может можно какую то библиотеку подключить?(мне не нужно выводить результат, мне нужно что бы он с ним сделал арифметические операции и записал результат в тхт но желательно без степени, что бы выглядело как обычное число.)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.10.2016, 13:43
Ответы с готовыми решениями:

Как реализовать работу с очень большими числами?
Добрый день всем! Очень необходимы светлые мозги, ибо не могу понять в чем проблема. Есть работающая программа: #include...

Класс для работы с большими числами
Здравствуйте, кто-нибудь уже писал класс для работы с очень большими числами, с поддержкой операторов +-/*, если да то дайте, пожалуйста,...

Порекомендуйте библиотеку для работы с большими числами
Добрый день. Нужна библиотека для работы с большими числами, в которой определены следующие операции: умножение, деление, разность, сумма,...

16
 Аватар для Nishen
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,814
13.10.2016, 14:01
Длинная арифметика посмотрите в интернете.
0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
13.10.2016, 14:04  [ТС]
использовал __int64 al = 1000000000000000000;
с большим числом можно работать?

Добавлено через 1 минуту
ок спасибо, сейчас погуглю
0
Неэпический
 Аватар для Croessmah
18147 / 10731 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
13.10.2016, 14:15
Лучший ответ Сообщение было отмечено DarkJoker1992 как решение

Решение

http://www.boost.org/doc/libs/... index.html
C++
1
2
3
4
5
6
7
8
9
10
11
12
//g++  4.9.3
 
#include <iostream>
#include <boost/multiprecision/cpp_int.hpp>
 
int main()
{
    namespace mp = boost::multiprecision;
    mp::cpp_int num1 ("12347893489239423480238407238947892349823");
    mp::cpp_int num2 ("487658923425734580234503495059345034250349534059234");
    std::cout << num1 * num2 << std::endl;
}
http://rextester.com/RGFW50375
7
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
13.10.2016, 14:18  [ТС]
Я прям незнаю, но я бы вас расцеловал! СПАСИБО ОГРОМНЕЙШЕЕ!
0
13.10.2016, 14:21

Не по теме:

Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
Я прям незнаю, но я бы вас расцеловал!
Не надо, Леонид Ильич. :D

0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
13.10.2016, 14:28
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
есть необходимость работать с числами выше 100000000000
на сколько большими?
long long int от -9223372036854775808 до 9223372036854775807
unsigned long long int от 0 до 18446744073709551615
0
Неэпический
 Аватар для Croessmah
18147 / 10731 / 2066
Регистрация: 27.09.2012
Сообщений: 27,030
Записей в блоге: 1
13.10.2016, 14:45
Цитата Сообщение от ValeryS Посмотреть сообщение
на сколько большими?
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
как заставить прогу работать с числами больше секстильона?
т.е. больше чем 1036.
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
13.10.2016, 15:18
http://lmgtfy.com/?q=%D1%81%D0... 0%BE%D0%BD
Цитата Сообщение от Croessmah Посмотреть сообщение
т.е. больше чем 1036.
мне всегда казалось 1021
Цитата Сообщение от ValeryS Посмотреть сообщение
unsigned long long
Если человек столкнулся с такой проблемой, то все лонг-лонги - это паллиатив. Надо переходить к длинной арифметике.
Есть такое утверждение - "В программирование есть только 3 числа - Ноль, Один и Бесконечность". Вот тут что-то похожее.
1
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
13.10.2016, 15:22
Цитата Сообщение от Croessmah Посмотреть сообщение
т.е. больше чем 1036.
а если французский секстильон 1021
http://dic.academic.ru/dic.nsf... СЕКСТИЛЬОН

Добавлено через 2 минуты
Цитата Сообщение от Байт Посмотреть сообщение
Если человек столкнулся с такой проблемой, то все лонг-лонги - это паллиатив.
бывает, что человек и сам не знает, что ему надо
Цитата Сообщение от Байт Посмотреть сообщение
Надо переходить к длинной арифметике.
длинная арифметика это лишние нагрузки
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
13.10.2016, 15:23
Цитата Сообщение от Байт Посмотреть сообщение
мне всегда казалось 1021
Вопрос не столь однозначен, как мне представлялось
Секстиллион (или секстильон) - это число, представляющее собой единицу с двадцатью одним нулем. Однако англичане идут своим путем - в английской математике это единица с 36-ю нулями.
Ну, что с них взять? Они до сих пор на фунты и ярды меряют...
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,870
13.10.2016, 15:23
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
100000000000
Цитата Сообщение от DarkJoker1992 Посмотреть сообщение
секстильона
вот он, разбросик
0
13.10.2016, 15:26

Не по теме:

Цитата Сообщение от ValeryS Посмотреть сообщение
бывает, что человек и сам не знает, что ему надо
Эт-т-то точно! А ты знаешь? В себе я не уверен...:D

0
13.10.2016, 15:28

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
А ты знаешь? В себе я не уверен...
конечно нет:) сколько раз было, меняешь входные условия, и решение на порядок легче

0
13.10.2016, 15:31

Не по теме:

Байт, чё-т я перепутал.

0
13.10.2016, 19:20

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
http://rextester.com/RGFW50375
Не знал, что в rextester'e прикручен boost. =-O

0
148 / 4 / 0
Регистрация: 19.02.2013
Сообщений: 369
16.10.2016, 15:35  [ТС]
Для работы с float, подсказал hoggy, за что ему Огромное Спасибо!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <boost/multiprecision/cpp_dec_float.hpp>
 
 
int main()
{
    std::cout << "Hello, world!\n";
    
    namespace mp = boost::multiprecision;
    mp::cpp_dec_float_100 num1 ("24444444488888888484848484848484848484848484848484848484848484848484444422222288888882");
    mp::cpp_dec_float_100 num2 ("10000000000000000000000000000000000000000000000000000000000000000000000000000000000");
    
    mp::cpp_dec_float_100 num3 = num1 / num2;
    mp::cpp_dec_float_100 num4 = num3 * num2;
    mp::cpp_dec_float_100 num5 = num1 - num4;
    
    std::cout << std::setprecision(std::numeric_limits<mp::cpp_dec_float_100>::max_digits10);
    
    std::cout << "num1 = " << num1 << std::endl;
    std::cout << "num2 = " << num2 << std::endl;
    
    std::cout << "num3 = num1 / num2 = " << num3 << std::endl;
    std::cout << "num4 = num3 * num2 = " << num4 << std::endl;
    std::cout << "num5 = num1 - num4 = " << num5 << std::endl;
    
    
    if(num5 == 0)
        std::cout <<"all rigth!\n";
    else
        std::cout <<"error: num5 = " << num5 << '\n';
}
hoggy на форуме
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2016, 15:35
Помогаю со студенческими работами здесь

Есть ли библиотеки для работы с большими числами
Доброй ночи! Какие вы могли бы порекомендовать библиотеки для работы с большими числами в языке C/C++?

Простой калькулятор для работы с большими числами
Помогите плеас) Задали сделать простенький калькулятор-сделал. Сказали, что нужно для работы с большими числами переделать. Изменил тип...

Библиотека для работы с большими числами, возможность факторизации
Привет всем! Какие библиотеки можете посоветовать для работы с большими числами, с возможностью их факторизации. Хотелось бы иметь...

Какой тип данных использовать для работы с большими числами?
Здравствуйте! Какой тип данных можно использовать для больших чисел( unsigned long long не получается)?

Библиотеки для работы с очень большими дробными числами
Добрый день, появилась необходимость оперировать дробными (равномерно распределенными) числами. К примеру 125 знаков после запятой. ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru