Вниз
Скачать: CL | DM;

Весьма странное поведение программы   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.53 MB
Время: 0.008 c
1-9523
Beginner
2002-03-23 16:12
2002.04.04
OpenDialog


4-9674
Ewgenij
2002-02-04 23:26
2002.04.04
CreateDesktop


3-9384
gizar
2002-03-12 14:37
2002.04.04
ProgressBar для ADOQuery1.ExecSQL


1-9513
Rammst
2002-03-23 06:42
2002.04.04
Скины


3-9412
Malder
2002-03-02 17:35
2002.04.04
Насчет удаленных записей в Interbase




   Наверх