Главная страница
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.028 c
6-1201598586
valenok
2008-01-29 12:23
2009.03.29
Использование ReadLn в компоненте IdTCPServer


2-1233804054
snake-as
2009-02-05 06:20
2009.03.29
При открытии файла через OpenDialog имя файла не сохраняется


1-1208173651
denmin
2008-04-14 15:47
2009.03.29
Как обратится к компоненту созданному через TCustomControl


1-1208202474
aha
2008-04-14 23:47
2009.03.29
Как можно выполнить такое ? Для сохранения параметров программы


15-1233240162
@!!ex
2009-01-29 17:42
2009.03.29
Самый лучший фильм 2