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

Глюк с while?   Найти похожие ветки 

 
Алиса   (2002-02-05 15:29) [0]

Интересно это глюк с while..do.. или я что-то не понимаю:)?
var i:Double;
Begin
i:=0;
while i<1 do
i:=i+0.1
S:=i;
end;
На выходе S=1.1
если:
var i:integer;
Begin
i:=0;
while i<10 do
i:=i+1
S:=i;
end;
На выходе S=10 ??!!!

Спасибо за ответ!


 
Johnmen ©   (2002-02-05 15:38) [1]

В 1 случае д.б. 1.0


 
Romkin ©   (2002-02-05 15:39) [2]

var i:Double;
Begin
i:=0;
while round(i * 10) < 10 do
i:=i+0.1
S:=i;
end;
Так все должно получится, это из-за приближенного представления числа с плавающей точкой, посмотри при пошаговых проходах


 
Johnmen ©   (2002-02-05 15:45) [3]

Romkin © прав.


 
USAtyj ©   (2002-02-05 17:33) [4]

Про вещественные числа была хорошая ссылка уже здесь:
http://www.delphikingdom.com/helloworld/reals.htm



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.01 c
4-66706
masha
2001-12-23 01:18
2002.02.21
WIN API


14-66667
Гаечка
2001-12-20 15:30
2002.02.21
Нужна помощь


3-66423
wicked
2002-01-25 15:39
2002.02.21
асинхронное ADO


3-66477
VLL
2002-01-29 11:13
2002.02.21
Как упаковать таблицу DBF


6-66642
jdr
2001-12-01 03:07
2002.02.21
сокеты




   Наверх