Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.03.29;
Скачать: CL | DM;

Вниз

Int64 и Integer Overflow   Найти похожие ветки 

 
KSergey ©   (2008-04-16 18:10) [0]

Столкнулся с неприятной проблемой: дельфи не выкидывает Integer Overflow при операциях с Int64. Тупо-глупо отрезает что влезло - и все, не ломается.
С опциями проекта все нормальненько, на Integer - при переполнении ломается как и надо, на Int64 не хочет. Мне это сильно требуется.

Отсюда вопрос: это лечится как-нибудь? Что-то ничего полезного не нашел в гугле... Справка про переполнение упоминает только int16/int32. Про Int64 - молчек.


 
Сергей М,   (2008-04-16 18:16) [1]


> это лечится как-нибудь?


лечится.

Просто не пихай туда то что туда заведомо не лезет.


 
KSergey ©   (2008-04-16 18:22) [2]

> Сергей М,   (16.04.08 18:16) [1]
> Просто не пихай туда то что туда заведомо не лезет.

Так оно ж в результате вычислений может случиться.... а я и не узнаю, обидно.


 
Reindeer Moss Eater ©   (2008-04-16 18:29) [3]

myint64 and $00000000FFFFFFFF;


 
tesseract ©   (2008-04-16 18:31) [4]


> Так оно ж в результате вычислений может случиться.


Сравнивай с $FF FF FF FF FF FF FF FF, узнаешь.

ЗЫ: Федеральный долг США считаешь ?


 
tesseract ©   (2008-04-16 18:32) [5]


> Сравнивай с $FF FF FF FF FF FF FF FF, узнаешь.


ТПРУ это  для unsigned.


 
Сергей М,   (2008-04-16 18:35) [6]


> оно ж в результате вычислений может случиться.... а я и
> не узнаю, обидно


А ты компилятор попроси)

В ряде случаев он сможет помочь твоей беде исключением)


 
MBo ©   (2008-04-16 18:38) [7]

в BDS2006 то же самое


 
Anatoly Podgoretsky ©   (2008-04-16 19:50) [8]

> tesseract  (16.04.2008 18:32:05)  [5]

Зачем своя константа, MaxInt


 
oxffff ©   (2008-04-16 20:16) [9]


> KSergey ©   (16.04.08 18:10


Delphi 7. +Overflow Checking.

var a:int64;
begin
a:=$7FFFFFFFFFFFFFFF;
a:=a+1;  //       <-Исключение здесь

Что я не так делаю? :)


 
oxffff ©   (2008-04-16 20:17) [10]


> Отсюда вопрос: это лечится как-нибудь?


Лечится как обычно проверкой битика регистра флагов.


 
oxffff ©   (2008-04-16 20:28) [11]

Либо проще

-Overflow Checking(Disabled).

var a:int64;
begin
a:=$8000000000000000;
a:=a-1;
asm
into;
end;



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

Текущий архив: 2009.03.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
2-1233920654
девушка
2009-02-06 14:44
2009.03.29
Для чего используется ReadComponentRes


4-1207047506
kolj
2008-04-01 14:58
2009.03.29
Tapi -> CallBackFunction


2-1233746718
Asker
2009-02-04 14:25
2009.03.29
как завершить приложение


2-1233601425
cruiser
2009-02-02 22:03
2009.03.29
WinInet и закачка файла из Интернет через прокси с авторизацией.


2-1233552018
Тимоха
2009-02-02 08:20
2009.03.29
Организация работы потоков