Вниз
Скачать: 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.006 c
14-66683
Xpdeveloper
2001-12-22 09:51
2002.02.21
А мне вот интересно ваше отношение к .NET


1-66536
SemFLY
2002-02-04 22:02
2002.02.21
Как передать значение переменной из одного модуля в другой ?


1-66605
jenbond
2002-02-06 10:43
2002.02.21
Гипертекстовые ссылки


3-66446
XM-AD
2002-01-28 12:09
2002.02.21
Вставить BLOB-поле в InterBase...


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




   Наверх