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

Что если число будет слишком большим и не поместиться в int? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Заменить чтение из файла аналогом fstream http://www.cyberforum.ru/cpp-beginners/thread1121423.html
char fileName; printf("Enter file name: "); scanf("%255s", fileName); FILE *open = fopen(fileName, "r"); if(open) while(!feof(open)) { fscanf(open, "%2d", &choice); if(choice == 1) first_type + choice;
C++ Передача параметров функциям. Можно ли изменить этот параметр внутри функции Доброго времени суток, господа знатоки.В универе препод задал сделать проверку входных данных на ошибку.Я полазил по форумам и нашел вот такой вариант: double number; while ((cin >> number).fail() || cin.get() != '\n')//цикл который повторяется пока не будет присвоено значение переменной number { cin.clear(); cin.sync(); } Но потом меня посетила идея написать... http://www.cyberforum.ru/cpp-beginners/thread1121411.html
C++ Вставить функцию в код по подсчету времени на нахождения ключа в массиве (бинарный поиск)
помогите вставить функцию в код по подсчету времени на нахождения ключа в массиве(бинарный поиск) . вот код #include <stdlib.h> #include <iostream> #include <windows.h> #include <cmath> #include <iomanip> #include <limits.h> using namespace std;
C++ Перегрузка конструкторов (создание класса Matrix, перемножение матриц)
Помогите пожалуйста с умножением матриц Добавлено через 20 секунд #include <iostream.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #define N 4 class Matrix{
C++ Составить программу, считающую нормы двух гауссовых чисел http://www.cyberforum.ru/cpp-beginners/thread1121369.html
Надо составить программу считающая нормы двух гауссовых чисел(комплексные числа с целыми коэф.). С помощью алгоритма евклида вычислить нод и линейные представления для них. сделать проверку. Можно ли как то реализовать это на С++. Заготовка программы есть using namespace std; struct Complex { /*определяем структуру для комплексных чисел*/ double re/*действительная часть*/, im/*мнимая...
C++ Удалить из файла абзац с номером N 2)Дано число N и текстовый файл. Удалить из файла абзац с номером N (абзацы отделяются друг от друга одной или несколькими пустыми строками и нумеруются от 1). Пустые строки, предшествующие и следующие за удаляемым абзацем, не удалять. Если абзац с данным номером отсутствует, то оставить файл без изменений. Зарание спасибо! :p:-[ подробнее

Показать сообщение отдельно
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
18.03.2014, 13:04     Что если число будет слишком большим и не поместиться в int?
Цитата Сообщение от alsav22 Посмотреть сообщение
вместо UB, просто выдаёт максимально допустимое значение для типа
Так UB на то и UB, что может быть и такой вариант

Добавлено через 7 минут
Посмотрел в С++03 22.2.2.1.2/11:
Stage 3:
The result of stage 2 processing can be one of
— A sequence of chars has been accumulated in stage 2 that is converted (according to the rules of scanf) to a value of the type of val. This value is stored in val and ios_base::goodbit is stored inerr.
— The sequence of chars accumulated in stage 2 would have caused scanf to report an input failure. ios_base::failbit is assigned to err.
Т.е. в случае ошибки про итоговое значение ничего не сказано. Следовательно, м.б. любым. И, кстати, про использование atoi() в этой цепочке ничего не сказано.
 
Текущее время: 11:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru