Вниз
Скачать: 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.046 c
2-1272391252
romario
2010-04-27 22:00
2010.08.27
Сохранение файла на диск


11-1212343554
Сашик
2008-06-01 22:05
2010.08.27
OleVariant и OleObject в KOL Delphi 4


2-1271700671
pleasure
2010-04-19 22:11
2010.08.27
MSSQL 2005 роли и пользователи


2-1266751523
Fr
2010-02-21 14:25
2010.08.27
TRichEdit, вставка текста


15-1263850233
Юрий
2010-01-19 00:30
2010.08.27
С днем рождения ! 19 января 2010 вторник




   Наверх