Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 07.10.2017
Сообщений: 3
1

Переполнение типа данных

07.10.2017, 15:40. Показов 2092. Ответов 5

Необходимо написать программу на с++, которая обрабатывает двадцатизначные числа. Следовательно, если использовать тип unsigned long long все рано будет переполнение. Возможно ли как-нибудь данную проблему? Возможно существуют какие-нибудь библиотеки, подключение которых позволит обрабатывать числа таких размеров?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.10.2017, 15:40
Ответы с готовыми решениями:

отловить переполнение типа данных
Здравствуйте:) У меня возник вопрос по сабжу. допустим мы присваиваем переменной типа double...

Переполнение типа с плавающей точкой
Добрый вечер, существует ли понятие переполнение float c UB как полагается?

Переполнение массива объектного типа string
Не получается инициализировать двумерный string-массив во время выполнения кода: #include...

Объясните непрогнозируемый результат переполнение типа char
Есть тип char с диапазоном значений До 255 значения выводятся адекватно. От 256 до 383 выводит...

5
Don't worry, be happy
17172 / 10055 / 1935
Регистрация: 27.09.2012
Сообщений: 25,053
Записей в блоге: 1
07.10.2017, 16:26 2
Лучший ответ Сообщение было отмечено sascmd как решение

Решение

Цитата Сообщение от sascmd Посмотреть сообщение
Возможно существуют какие-нибудь библиотеки, подключение которых позволит обрабатывать числа таких размеров?
Boost.Multiprecision
1
34 / 32 / 10
Регистрация: 15.07.2017
Сообщений: 123
07.10.2017, 16:32 3
Здесь обсуждали длинную арифметику на c++
0
Don't worry, be happy
17172 / 10055 / 1935
Регистрация: 27.09.2012
Сообщений: 25,053
Записей в блоге: 1
07.10.2017, 16:52 4
Работа с большими числами
0
0 / 0 / 0
Регистрация: 07.10.2017
Сообщений: 3
07.10.2017, 23:46  [ТС] 5
Croessmah, извините, возник еще такой вопрос, данная библиотека не поддерживать операции побитовых сдвигов влево и вправо, не подскажите устранить эту ошибку?
0
281 / 235 / 114
Регистрация: 07.09.2016
Сообщений: 587
08.10.2017, 00:00 6
побитовые сдвиги для целых вроде эквивалентны умножению делению на 2.
сдвиг на три позиции влево - это все равно что умножить число на двойки три раза.
а для не целых такие операции не имеют смысла. так что можете такой вот обходной способ применить.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2017, 00:00

Как отловить переполнение границ типа (INT)?
Сразу напишу пример для наглядности: int fx = -2147483648 if(fx == -fx) { //ляляля } В...

Переполнение и тип данных
Есть задание, в котором надо перемножить 4 переменные (W, H, D, R), причем W, H, D <= 10^4, R <=...

Переполнение типа
Здравствуйте, подскажите пожалуйста какой результат будет 500 или 245? Uint8 x = 50; Uint32...

Как перехватить переполнение вещественного типа?
Есть присваивание которое часто вызывает переполнение вещественного типа. Надо сделать так, что бы...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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