Fixpoint numbers are stored ( n-comma n-whole ) and can be handled like signed double numbers.
For fixpoint-numbers you can use d+ and d- as usual, and do division and multiplication with f/ and f*.
Fixpoint numbers are stored ( n-comma n-whole ) and can be handled like signed double numbers | Examples | ||
---|---|---|---|
d- | ( df1 df2 - - df3 ) | Addition of two fixpoint numbers | 9,12 7,13 d+ f. 16,24999999976716935634613037109375 ok. |
d+ | ( df1 df2 - - df3 ) | Subtraction of two fixpoint numbers | 9,12 7,13 d- f. 1,98999999999068677425384521484375 ok. |
f/ | ( df1 df2 - - df3 ) | Division of two fixpoint numbers | 9,12 7,13 f/ f. 1,27910238411277532577514648437500 ok. |
f* | ( df1 df2 - - df3 ) | Multiplication | 9,12 7,13 f* f. 65,02559999795630574226379394531250 ok. |
hold< | ( char - - ) | Adds character to pictured number output buffer from behind | |
f#S | ( n-comma1 - - n-comma2 ) | Adds 32 comma-digits to number output | |
f# | ( n-comma1 - - n-comma2 ) | Adds one comma-digit to number output | 9,12 f# f. 90,11999999987892806529998779296875 ok. |
f . | ( df - - ) | Prints a fixpoint number with 32 fractional digits | 9,12 7,13 f/ f. 1,27910238411277532577514648437500 ok. |
f.n | ( df n - - ) | Prints a fixpoint number with n fractional digits | 9,12 7,13 f/ 3 f.n 1,279 ok. |
number | ( Counted-String-Address - - 0 ) | Tries to convert a string to a number. | |
( cstr-addr - - n 1 ) | |||
( cstr-addr - - n-low n-high 2 ) |
Note
Results starting with * are using Unix bc (arbitrary-precision arithmetic language and calculator) on a 64 bit FreeBSD system.
9,12 f. 9,11999999987892806529998779296875 ok.
9,12 f# f.
90,11999999987892806529998779296875 ok.
1111,1234 f#S f. 0,12339999992400407791137695312500 ok.
9,12 7,13 d+ f.
16,24999999976716935634613037109375 ok.
* 16.25
9,12 7,13 d- f.
1,98999999999068677425384521484375 ok.
* 1.99
9,12 7,13 f/ f.
1,27910238411277532577514648437500 ok.
* 1.27910238429172510518
9,12 7,13 f* f.
65,02559999795630574226379394531250 ok.
* 65.0256
9,12 7,13 f/ 3 f.n
1,279 ok.