47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|
1 | |
Exeption на переполнение int21.11.2014, 22:31. Показов 3123. Ответов 6
Метки нет (Все метки)
как называется ексепшен который бы поймал эту ошибку?(переполнение int, типа если в переменную положится число больше чем 2 147 483 647 - ведь ет максимальный размер вроде переменной:?)) Если таков вообще есть
Знаю можно ловить все ошибки сразу типа catch(...) но мне надо то что выше описал или что-то типа того
0
|
21.11.2014, 22:31 | |
Ответы с готовыми решениями:
6
Проверить int на переполнение Переполнение при вводе int Переполнение целого в int и char Как отловить переполнение границ типа (INT)? |
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
21.11.2014, 22:35 | 2 |
Нет такой ошибки. В int попадёт столько, сколько влезет.
0
|
Вездепух
11694 / 6373 / 1723
Регистрация: 18.10.2014
Сообщений: 16,062
|
|||||||||||
21.11.2014, 22:45 | 3 | ||||||||||
Никак.
* Если переполнение знакового целого типа возникает в процессе вычисления выражения, то поведение программы не определено. * Если переполнение знакового целого типа возникает при приведении большего по диапазону целого типа к меньшему по диапазону, то поведение определяется реализацией. * Беззнаковые целые типы не "переполняются" вообще, они реализуют арифметику "по модулю". Более того, опираясь на вышеприведенные правила, современные компиляторы реализуют оптимизации, основанные на так называемой strict overflow semantics (строгая семантика переполнения). Согласно вышеприведенным правилам, компилятор имеет право полагать, что для знаковых целых типов из b>0 всегда следует a+b>a. Это значит, что компилятор имеет право заменить вот такой "хакерский" цикл
1
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
||||||
21.11.2014, 22:56 [ТС] | 4 | |||||
понял.
у мну задание сделать событие на переполнение розрядной сетки. - это я ведь понял размер int ну в задании его надо использовать. я так понял Просто делать проверку? ли сума и введеные данные не больше 2 147 483 647, если больше вызивать событие? Добавлено через 5 минут кстати если пользователь введет число больше чем поместится в переменную каким експешеном его обработать через
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
21.11.2014, 22:59 | 5 |
Ты можешь вызывать исключение в своём алгоритме типа overflow_error, но само оно не возникает.
0
|
47 / 39 / 15
Регистрация: 28.09.2012
Сообщений: 818
|
|||||||||||
21.11.2014, 23:03 [ТС] | 6 | ||||||||||
а тю компилятор мне сказал какой експепшен сам
System.OverflowException Добавлено через 1 минуту Возникает
выведет что программа завершилась с вот таким ексепшеном) поставил
Ой пардон не в тот раздел написал походу C# ведь
0
|
7791 / 6558 / 2984
Регистрация: 14.04.2014
Сообщений: 28,667
|
|
22.11.2014, 08:49 | 7 |
В Builder и C# такое может и есть при преобразовании, но не при арифметических операциях.
0
|
22.11.2014, 08:49 | |
22.11.2014, 08:49 | |
Помогаю со студенческими работами здесь
7
Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)' В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? Что означает ошибка too few arguments to function ‘int my_func(int, int)’ (язык C++)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |