J
John Reye
Hi,
have you seen the C Standards formula for FLT_DIG, DBL_DIG, LDBL_DIG?
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf#page=49 (pdf-
page 49)
If you have a capable browser, it can be displayed like this:
⎧ p log10 b if b is a power of 10
q = ⎨
⎩ ⎣( p − 1) log10 b⎦ otherwise
How does one derive this formula? (And: is it correct, in the sense of
really defining the maximum for q ?)
I'm particularly interested in the "otherwise" case, which states q <=
floor((p-1)*log10(b))
In particular: cannot q be somewhat larger, as in q <=
floor(p*log10(b)) = LIM ??? I believe that also results in no rounding
loss; and an exact representation (of the original decimal number)
with p radix-b digits.
(((In fact... q might even be able to be larger still (than LIM), for
cases where there is a non-exact representation of the original number
with p radix-b digits; but rounding back to base-10, would still yield
the original number.)))
Thanks.
J.
have you seen the C Standards formula for FLT_DIG, DBL_DIG, LDBL_DIG?
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf#page=49 (pdf-
page 49)
If you have a capable browser, it can be displayed like this:
⎧ p log10 b if b is a power of 10
q = ⎨
⎩ ⎣( p − 1) log10 b⎦ otherwise
How does one derive this formula? (And: is it correct, in the sense of
really defining the maximum for q ?)
I'm particularly interested in the "otherwise" case, which states q <=
floor((p-1)*log10(b))
In particular: cannot q be somewhat larger, as in q <=
floor(p*log10(b)) = LIM ??? I believe that also results in no rounding
loss; and an exact representation (of the original decimal number)
with p radix-b digits.
(((In fact... q might even be able to be larger still (than LIM), for
cases where there is a non-exact representation of the original number
with p radix-b digits; but rounding back to base-10, would still yield
the original number.)))
Thanks.
J.