Почему я не могу получить ответ с плавающей запятой в Gforth?

Я слышал, что вам просто нужно поставить F перед оператором, а затем поставить (.) в конце, чтобы вычислить число с плавающей запятой, а затем отобразить его. Но это дало мне такой ответ:

2 3 F/ .       
:8: Floating-point stack underflow
2 3 >>>F/<<< .
Backtrace:

Как я могу получить 0.66666667 ok?


person Spencer Lam    schedule 15.01.2015    source источник
comment
Отправить в Quora (обязательно).   -  person Peter Mortensen    schedule 18.01.2015


Ответы (1)


Вы неправильно расслышали. Предположительно, тот, кто сказал вам, имел в виду, что точка должна быть в конце операндов, но это сделало бы их значениями двойной точности (никакого отношения к двойным числам с плавающей запятой). Вам нужно поставить e в конце 2 и 3, чтобы сделать их плавающими, написать f/, чтобы разделить их, и написать f., чтобы напечатать:

in:  2e 3e f/ f.
out: 0.666666666666667 ok
person jwodder    schedule 15.01.2015