Вниз
Скачать: 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.007 c
3-66494
DeNNiss
2002-01-29 15:52
2002.02.21
уважаемые программисты!


3-66435
Alan
2002-01-27 12:22
2002.02.21
Добавление таблицы в базу MS SQL Server 7.0


1-66626
saviola
2002-02-06 17:25
2002.02.21
Чем можно посмотреть файл типа *.rpt


6-66634
Иван Мхитаров
2001-12-03 13:45
2002.02.21
Использование TClientSocket внутри TServerClientThread


3-66470
hunter
2002-01-28 14:44
2002.02.21
EhLib




   Наверх