Форум: "Потрепаться";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
ВнизВесьма странное поведение программы Найти похожие ветки
← →
VictorT (2002-02-22 17:41) [40]Теперь обьясните мне, глупому, в чём тут дело. Я понимаю, что если бы это был Си, то компилятор 2 бы считал целым типом, а 2.0 вещественным. А Паскалю имхо, всё равно. Или нет?
← →
DieHard (2002-02-22 17:56) [41]Вот именно, что так же не всё равно
← →
olookin (2002-02-22 18:32) [42]т.Е. все-таки это может играть какую-то роль?
← →
McSimm (2002-02-22 18:49) [43]В принципе может. Зависит от компилятора.
Но у меня для обоих вариантов компилятор сгенерировал абсолютно одинаковый код.
← →
Digitman (2002-02-22 18:52) [44]именно при декларации
const TT = 0.1
- абсолютно - никакой разницы.
Проверено в Д5.5.
выражения 2.0/TT и 2/TT вычисляются на этапе компиляции, результат вычисления - целое число = $14 (как при включенном, так и при выключенном оптимизаторе)
т.е., цикл
for c:=0 to trunc(2/TT)-1 do ..
именно при такой декларации всегда выглядит как цикл
for c:=0 to 20 do ..
← →
olookin (2002-02-22 19:22) [45]
Значит никакой разницы нет?
← →
McSimm (2002-02-22 19:39) [46]Если TT - константа, то разницы нет однозначно. Если только не имеет место ситуация, обсуждаемая в
EAlexander © (22.02.02 10:47)
McSimm © (22.02.02 12:19)
EAlexander © (22.02.02 12:23)
Если TT - вычисляемое, то разницы нет для моего компилятора (6.0 Build 6.163). Другой компилятор, возможно, воспримет эти записи по-разному
Страницы: 1 2 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.016 c