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

Проверить int на переполнение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ cmd&VS http://www.cyberforum.ru/cpp-beginners/thread837442.html
Прошу помочь, пожалуйста, вот с чем: есть программа, которой передаются некоторые параметры через командную строку для последующего анализа и выполнения определённых действий, например: #include <iostream> #include <iomanip> int main(int argc, char *argv) { using namespace std; setlocale (0, "");
C++ Возврат указателя на массив указателей Доброго времени суток. Есть программа, где куча методов должны работать с одни массивом указателей. Как мне сделать, чтобы в функции передавать указатель на этот массив, возвращать указатель с тем же именем, но который может измениться? Как-то так. Надеюсь мысль ясна. Добавлено через 6 минут И вот еще. Есть у меня пару модулей в программе, и все они должны работать с этим массивом. Где его... http://www.cyberforum.ru/cpp-beginners/thread837437.html
Реализация класса и вектор C++
Всем привет! test.cpp(главный файл) /* * @pay - зарплата сотрудника * @countEl - позиция элемента в контейнере */ #include <iostream> #include <string.h> #include "people.h" #include "people.cpp"
Как реализовать вывод в файл из контейнера multiset (STL) C++
Здравствуйте, не могу реализовать вывод в файл из контейнера std::multiset, дело в том, чтобы вывести через поток в файл нужно преобразовать в символьный массив, т.к. AnsiString не работает с потоком как я понял (для этого я раньше использовал c_str()), но вот как получить элементы из контейнера мне не совсем ясно, может кто-нибудь сталкивался с подобным? Заранее спасибо #include...
C++ Помощь с функциями http://www.cyberforum.ru/cpp-beginners/thread837415.html
Добрый день, Хочу попросить у вас помощь просто не успеваю сделать, работаю над другой частью программы... Вобщем задание такое : Текст, представляющий собой последовательность строк, длина каждой из которых не превышает некоторого задаваемого при выполнении значения, вводится с клавиатуры или из файла. • вставить в последовательность строк, начиная (заканчивая) с текущей, после (перед)...
C++ 3д вектор на плоскости Здраствуйте ! Перейду к делу . есть задание -Родительский класс , представляющий собой вектор на плоскости, заданный координатами, с методами нахождения модуля вектора и вывода координат его начала и конца .Дочерний класс представляющий вектор в трехмерном пространстве с аналогичными методами .Главный класс, одним оператором выводящий на экран координаты начал и концов и модулей двух и... подробнее

Показать сообщение отдельно
Rifle
26 / 26 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
14.04.2013, 14:32     Проверить int на переполнение
В заголовочном файле <limits.h> определены специальные константы, содержащие максимальные значения целочисленных типов данных. Можете их использовать для проверки переполнения.
Если вы в int поместите больше, чем он вмещает, то просто остаток будет добавляться в начало диапазона допустимых значений. Т.е., если signed int вмещает, допустим, от -1000 до 1000, и вы ему присвоите 1001, то его значение станет -1000, если присвоите 1002, то значение будет -999 и т.д.

Потеря точности - это когда используется приведение типа от переменных большего типа к меньшему. Например, если double вмещает 10000, а вы ее приведете к int, который вмещает 1000, то естественно получится лабуда (то самое переполнение). Либо если вы вещественные числа приводите к целым, т.е. число 3.9 приводите к типу int, то десятичная часть отбросится, int будет содержать значение 3.
Примеры:
C++
1
2
3
4
double a = 3.5;
int b = a; //потеря точности
double c = 900000000000000000000000000000;
int b = c; //переполнение
 
Текущее время: 07:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru