| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Извлечь квадратный корень |
| Автор: asdnmg7sdkw 30.10.2007, 11:05 | ||
При извлечении квадратного корня вылетает ошибка "invalid floating point operation".
Помогите избежать этой ошибки. |
| Автор: hihi 30.10.2007, 11:09 |
| y1 больше чем y2 |
| Автор: Alexeis 30.10.2007, 11:14 |
| hihi, а сколько будет (-1) * (-1) ? |
| Автор: Rennigth 30.10.2007, 11:14 |
| asdnmg7sdkw, нельзя корень из отрицательного вычислять, сохраняй знак. |
| Автор: Alexeis 30.10.2007, 11:17 |
А откуда ему взяться? |
| Автор: Rennigth 30.10.2007, 11:20 |
Я просто под отладкой посмотрел, получается отрицательным, сейчас внимательней пример посмотрел, походу переполняется Integer. Добавлено через 2 минуты и 46 секунд или не... чем голова с утра тупит, но bb отрицательное |
| Автор: Alexeis 30.10.2007, 11:30 |
Точно! Числа больше 32000 нельзя в квадрат возводить.. |
| Автор: Rennigth 30.10.2007, 11:33 | ||
Вот:
Добавлено через 2 минуты и 53 секунды Не, можно (покрайней мере в турбе), единственное странное что Int64 непомог, только Extended... ? |
| Автор: Alexeis 30.10.2007, 12:02 | ||
Хм.. странно пишут, что есть 3 перегрузки
|
| Автор: Rennigth 30.10.2007, 12:09 | ||||
В семерке пишут что две:
в турбе вообще что одна:
Ты где смотрел? |
| Автор: Alexeis 30.10.2007, 12:13 |
| фууу какой позор! функция function Sqr ( Number : Int64 ) : Int64; не вызывается вообще! Вместо нее вызывается function Sqr ( Number : Integer ) : Integer; ! Вправду говорят, что Int64 в делфях глючный! Добавлено через 1 минуту и 23 секунды Да погуглил в книжке одной. Справка вообще тут не рулит. На самом деле Sqr это вообще не функция, а макрос... |
| Автор: asdnmg7sdkw 30.10.2007, 17:19 |
| Спасиб за помощь |