it takes n fixed-point decimal digits to exactly represent an n-bit fixed-point fractional binary number
Thank you for correcting me ... but shouldn't that be "n+1 fixed-point decimal digits" ?
use strict;
use warnings;
use Math::MPFR qw(:mpfr);
Rmpfr_set_default_prec(1000);
my $d = 1 / 11;
my $x = Math::MPFR->new($d);
print "$x\n", length($x), "\n";
# (print() removes trailing zeros.)
# Outputs:
9.09090909090909116141432377844466827809810638427734375e-2
58
Take out the "." and the "e-2" and we're left with 54 decimal digits.
Cheers, Rob |