Ошибка времени выполнения: Значение было недопустимо малым или недопустимо большим для Int32, как это решить?

делал прогу для вычисления дискриминанта на pascal ,так вот,при вычисление x1 и x2 выдает ошибку:Ошибка времени выполнения: Значение было недопустимо малым или недопустимо большим для Int32.
86f9446b3ca64e95b53b0cc0acee41a5.jpg
Я так понял что большей диапазон чисел и в int32 не помещаться. Как это решить?
  • Вопрос задан
  • 2896 просмотров
Решения вопроса 1
@Mercury13
Программист на «си с крестами» и не только
1. У вас неправильная формула корней.
2. Хотелось бы узнать, чему равны a, b, c.
3. Зачем вы округляете?
4. Собственно причина ошибки. Думаю, у вас отрицательное d, sqrt(d) = NaN (не-число), и ваша реализация Паскаля вот так поступает, когда нужно округлить NaN.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы