Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
broDiaga_cpp
22 / 12 / 1
Регистрация: 20.02.2010
Сообщений: 181
#1

Обработать превышение максимально возможного значения long - C++

07.04.2013, 04:05. Просмотров 529. Ответов 3
Метки нет (Все метки)

Как с помощью C++ exception я могу обработать, к примеру, следующее?
C++
1
2
long pp = 2147483647;
pp = pp + 1;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 04:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Обработать превышение максимально возможного значения long (C++):

как создать динамический пул максимально возможного размера? - C++
для создания динамического пула пользуемся функцией HeapCreate(), но что указать в качестве параметров - размеров тогда? HANDLE...

Не понятный undefined reference to `unsigned long long f<unsigned long long, void> - C++
test.cpp: #include &lt;iostream&gt; template &lt;typename FormalType, typename FactType = typename std::enable_if&lt;std::is_same&lt;FormalType,...

Преобразование значения переменной (long) через функцию в значения структуры - C++
Я недавно начал заниматься С++ и программированием в целом. Вот у меня такая проблема. В этой программе не работает часть, когда...

Вывести значения i и j при которых выражение максимально - C++
Пересмотрел много тем и форумов, так и не нашел для себя ответ. Стоит задача вывести значения i и j при которых выражение максимально....

Нюансы синтаксиса: что означает запись typedef long long i64 ? - C++
Что означает эта строчка? typedef long long i64; Как я понял, функция typedef позволяет добавить имя типу данных. Но зачем long...

Тип long long и его ввод\вывод с использованием scanf\printf - C++
Добрый день! Мне в программе надо вывести и ввести, соответственно, некоторые данные с помощью scanf и printf. По сути у меня выглядит...

3
GetVariable
163 / 119 / 5
Регистрация: 17.03.2013
Сообщений: 283
07.04.2013, 06:02 #2
перегрузи оператор +

реализовав в нём проверку на превышение те
C++
1
2
3
4
if(a == 2147483647)
     break;
else
     a+b;
0
salam
171 / 152 / 16
Регистрация: 10.07.2012
Сообщений: 751
07.04.2013, 07:50 #3
C++
1
2
3
4
5
6
int calc(int a, int b) {
    if(numeric_limits<long int>::max() - a >= b)
        return a + b;
    else
        return ERROR;
}
как вы поняли, numeric_limits<int>::max() возвращает максимальное значение long int. library <limits>.
1
broDiaga_cpp
22 / 12 / 1
Регистрация: 20.02.2010
Сообщений: 181
07.04.2013, 15:20  [ТС] #4
GetVariable, если тебе не приставляют пистолет к виску - никогда не перегружай стандартные операции для стандартных типов.
0
07.04.2013, 15:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 15:20
Привет! Вот еще темы с ответами:

Как char[] перевести в битовую маску long long(64 бита) и наоборот? - C++
Как char перевести в битовую маску long long(64 бита) и наоборот?

Возведение в степень по модулю для чисел близких к max long long - C++
Даны числа A,B,C&lt;=2^63-1 Надо посчитать A^B mod С. прошу не выкладывать стандартный алгоритм для Int, так как неверный ответ в итоге...

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

Как преобразовать const char * в long в С++, 0xE0E040BF в long - C++
Помогите пожалуйста преобразовать текст в число на C++ const char * value=cmd; long ircode = atol(value); ...


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

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

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