В антикварном Turbo Pascal 5.5 результаты выполнения
Код: Выделить всё
const
opts = '$n' + {$ifopt n+}'+,$e' + {$ifopt e+}'+'{$else}'-'{$endif} {$else}'-'{$endif};
var
r: real; {$ifopt n+} s: single; d: double; e: extended; {$endif}
begin
writeln(opts);
r := 1/3;
writeln('Real: ', r:23:18);
{$ifopt n+}
s := 1/3; d := 1/3; e := 1/3;
writeln('Single: ', s:23:18);
writeln('Double: ', d:23:18);
writeln('Extended: ', e:23:18);
{$endif}
end.
Код: Выделить всё
tpc /$n- nums
nums
tpc /$n+/$e- nums
nums
tpc /$n+/$e+ nums
nums
таковы
Код: Выделить всё
$n-
Real: 0.33333333333
$n+,$e-
Real: 0.333333333333484916
Single: 0.333333343267440796
Double: 0.333333333333333315
Extended: 0.333333333333333333
$n+,$e+
Real: 0.333333333333484916
Single: 0.333333343267440796
Double: 0.333333333333333315
Extended: 0.333333333333333333
$E+/$E- не повлияло. Правда запускалось это не на голой железке, а под DosBox 0.74, коей влияние на эксперимент мне пока неизвестно.
Добавлено спустя 1 час 23 минуты 38 секунд:Кстати, вот и иллюстрация примерного количества точных знаков, которое, как известно, составляет:
single (4 байта): 7-8
real: (6 байт): 11-12
double: (8 байт): 15-16
extended: (10 байт): 19-20
Эх, ещё бы источник сего знания вспомнить
