Что происходит, когда переменная с плавающей точкой выходит за пределы?
Я заметил две вещи:
std::numeric_limits::max()+(a small number)
дает: ,std::numeric_limits::max()
std::numeric_limits::max()+(a large number
лайк:std::numeric_limits::max()/3)
дает инф.
Почему эта разница? 1 или 2 приводит к ПЕРЕКЛЮЧЕНИЮ и, следовательно, к неопределенному поведению?
Редактировать: Код для тестирования это:
1.
float d = std::numeric_limits::max();
float q = d + 100;
cout < "q: " < q < endl;