Код: Выделить всё
a,b,c:real;
...
a:=0.05;
b:=0.9;
c:=a+b;
writeln(c=0.95)Оператор writeln выдаёт false. Почему?
Ну после c:=a+b с становится равным 0.95 и writeln должен выдать true. Или я чегото не понимаю?
Модератор: Модераторы
Код: Выделить всё
a,b,c:real;
...
a:=0.05;
b:=0.9;
c:=a+b;
writeln(c=0.95)Код: Выделить всё
writeln(SizeOf(Real));
writeln(SizeOf(0.95));
writeln(SizeOf(Extended));Код: Выделить всё
var
a,b,c: Extended;Код: Выделить всё
writeln(c=Real(0.95))NickZane писал(а):Код: Выделить всё
a,b,c:real;
...
a:=0.05;
b:=0.9;
c:=a+b;
writeln(c=0.95)
Оператор writeln выдаёт false. Почему?
Ну после c:=a+b с становится равным 0.95 и writeln должен выдать true. Или я чегото не понимаю?
Код: Выделить всё
Var
c1, c2: Currency;
Begin
c1:=0.95;
c2:=0.95;
WriteLn(c1=c2); //Будет TRUE
c2:=0.951;
WriteLn(c1=c2); //Будет FALSE
End.NickZane писал(а):Код: Выделить всё
x:=0.05;
while x<=0.95 do
begin
...
x:=x+0.9;
end;