Вниз
Скачать: 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
3-9396
Aaz
2002-03-11 07:21
2002.04.04
Глюк DBGrid?


4-9675
Basaev
2002-02-03 17:39
2002.04.04
Как из своей програмы можно запустить другую программу


3-9423
Dr. Web
2002-03-06 10:39
2002.04.04
FastReport 2.44


7-9665
Schummi
2002-01-06 09:27
2002.04.04
*.reg


14-9625
olookin
2002-02-21 18:09
2002.04.04
Весьма странное поведение программы




   Наверх