Форум: "Потрепаться";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
ВнизКонстантные выражения Найти похожие ветки
← →
Виктор Щербаков (2002-03-19 13:44) [0]procedure TForm1.Button1Click(Sender: TObject);
const a = 3 / 0;
begin
Caption := FloatToStr(a);
end;
Интересно, почему при компиляции не выдается ошибка "деление на ноль". Вместо этого при нажатии на Button1 в Caption формы появляется INF. Есть в этом какой-то смысл или просто глюк?
ЗЫ: Проверял на D5
← →
DieHard (2002-03-19 14:08) [1]Хм, на D4 то же самое...
← →
Фэ (2002-03-19 14:10) [2]Занятно.
3 div 0 не пропускается, однако.
← →
Виктор Щербаков (2002-03-19 14:13) [3]Сейчас проверил на D3. Та же фигня.
Если разработчикам Borland нужен был символ для обозначения бесконечности, сделали бы его предопределенной константной как nil, true, false. Пусть программист явно его укажет.
А так, только ошибки плодить!
← →
MBo (2002-03-19 14:14) [4]const
c=3;
d=0;
a = c / d;
e = c div d;// а эта строчка не проходит ;)
← →
DieHard (2002-03-19 14:20) [5]А почему
const
a = Int(3);
не проходит?
Int ведь определена как дозволительная в константных выражениях
← →
Виктор Щербаков (2002-03-19 14:24) [6]Int не разрешена.
Можно только:
Abs Chr Hi High Length Lo Low Odd Ord Pred Round SizeOf Succ Swap Trunc
← →
DieHard (2002-03-19 14:25) [7]Извиняюсь, не заметил в хелпе слово except перед пречислением функций :)
← →
DieHard (2002-03-19 14:35) [8]Итак, константы от Borland
1/0 = +INF
-1/0 = -INF
0/0 = -NAN
-(0/0) = +NAN
← →
Фэ (2002-03-19 14:42) [9]Насчет NAN известно, а вот INF первый раз попалась
← →
Иван Шихалев (2002-03-19 21:20) [10]Эти константы правда у Borland определены? А то, AFAIK, они замечательно определены в ассемблере i387, но в Pascal я их не помню.
← →
Юрий Зотов (2002-03-19 21:26) [11]Век живи - век учись...
Интересно, а опция overflow checking {$Q+} на это как-то влияет, или нет?
← →
Anatoly Podgoretsky (2002-03-19 21:54) [12]Виктор Щербаков © (19.03.02 13:44)
Глюка нет все нормально, ситуация разрешается на стадии компиляции, а ошибка "деление на ноль" это run-time ошибка.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c