. . .
. GMP(GNU multiple precision arithmetic library).
ASCII- .
SWI-prolog ( GMP) . ( ) rdiv, ( - ), , . is . .
rational(X) rationalize(X), X - .rational(X) X. rationalize(X) , X ( ).
.
?- X is rational(0.12).
X = 8646911284551353 rdiv 72057594037927936.
?- X is rationalize(0.12).
X = 3 rdiv 25.
, , , , .
?- X is 1/256.
X = 0.00390625.
?- X is rational(0.00390625).
X = 1 rdiv 256.
?- X is rationalize(0.00390625).
X = 1 rdiv 256.
:
A is 2 rdiv 6 A = 1 rdiv 3
A is 4 rdiv 3 + 1 A = 7 rdiv 3
A is 4 rdiv 3 + 1.5 A = 2.83333
A is 4 rdiv 3 + rational(1.5) A = 17 rdiv 6
- double.
:
0.5 55.3 -83.0E21 2134.2 122.34e25
. , , , .
- , ASCII-, . ASCII- , .
He climbed and he climbed
?- X="Hello". %
X = [72, 101, 108, 108, 111]
( ). , ().
, , . , .