Вниз
Скачать: CL | DM;

Invalid floating point operation   Найти похожие ветки 

 
Вик   (2010-04-26 17:01) [0]

Здравствуйте. Возникает указанная ошибка в следующем коде:

var
 i: Int64;  
 dbl: Double;
...
 dbl := High(Int64);
 i := Trunc(dbl); //тут выскакивает

В чем может быть дело? Может быть дело в Delphi, у меня D2009.


 
Дмитрий Белькевич   (2010-04-26 17:08) [1]

Виноват делфи и виндовс.


 
Вик   (2010-04-26 17:44) [2]

Мне кажется дело в том, что тип Double имеет 15 цифр точности, соответственно когда заносим туда MaxInt64 он округляется в большую сторону. Полученное значение не может влезть в Int64 вот и возникает ошибка... так?


 
CrytoGen   (2010-04-26 18:21) [3]

вообще Trunc вроде возвращает тип Integer, соответственно в него MaxInt64 просто не помещается


 
Leonid Troyanovsky ©   (2010-04-26 20:58) [4]


> Дмитрий Белькевич   (26.04.10 17:08) [1]

> Виноват делфи и виндовс.

Ясенный пень, и Черчиль тож.

> Вик   (26.04.10 17:44) [2]

>  соответственно когда заносим туда MaxInt64 он округляется

А испытать не судьба? Отладчик - в руки, барабан - на шею.
Кроме мантиссы есть еще экспонента, RTFM,
see also:
 dbl := High(Int64)-$FFF;

Кста, Extended forever.

> CrytoGen   (26.04.10 18:21) [3]  

> вообще Trunc вроде возвращает тип Integer

Int64. D3+, AFAIK.

--
Regards, LVT.


 
Дмитрий Белькевич   (2010-04-26 21:58) [5]


> Ясенный пень, и Черчиль тож.


Это был сарказм, если что.


 
Leonid Troyanovsky ©   (2010-04-26 22:03) [6]


> Дмитрий Белькевич   (26.04.10 21:58) [5]

> Это был сарказм, если что.

Нет смысла оправдываться.
Сарказм :)

--
Regards, LVT.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.071 c
15-1274300990
Юрий
2010-05-20 00:29
2010.08.27
С днем рождения ! 20 мая 2010 четверг


2-1272982597
novichek
2010-05-04 18:16
2010.08.27
TCPserver


2-1272273312
HF-Trade
2010-04-26 13:15
2010.08.27
положение TStatusBar после SW_Restore


15-1264973402
Юрий
2010-02-01 00:30
2010.08.27
С днем рождения ! 1 февраля 2010 понедельник


2-1274530341
Delphist2
2010-05-22 16:12
2010.08.27
method insert класса range завершен неверно




   Наверх