<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Paul,<div class=""><br class=""></div><div class="">It could be >=. But the anchor for the footnote is "if the precision is missing and FLT_RADIX is not a power of 2, then the precision is sufficient to distinguish296) values of type double, …”, so the footnote is about the cases where b is not a power of 2, and (as you mention) the powers can’t be equal in these cases. If b is a power of 2, an exact representation is required. I thought it was slightly better with > instead of >=, since the = case isn’t pertinent.<div class=""><br class=""></div><div class="">C2X 7.1.1 says </div><div class=""><br class=""></div><div class="">"The <i class="">decimal-point character</i> is the character used by functions that convert floating-point numbers to or from character sequences to denote the beginning of the fractional part of such character sequences.189) It is represented in the text and examples by a period, but may be changed by the setlocale function.</div><div class=""><br class=""></div><div class="">189)The functions that make use of the decimal-point character are the numeric conversion functions (7.22.1, 7.29.4.1) and the formatted input/output functions (7.21.6, 7.29.2).”</div><div class=""><br class=""></div><div class="">So I think decimal-point character is the correct term, albeit a somewhat misleading one.</div><div class=""><br class=""></div><div class="">- Jim</div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Aug 3, 2020, at 4:40 AM, Paul Zimmermann <<a href="mailto:Paul.Zimmermann@inria.fr" class="">Paul.Zimmermann@inria.fr</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""> Hi Jim,<br class=""><br class=""><blockquote type="cite" class="">Here’s a suggested replacement for footnote 296 to address the issues<br class="">mentioned in the earlier message (below). <br class=""><br class=""><a href="https://wiki.edg.com/pub/CFP/WebHome/footnote_296_rev.pdf" class="">https://wiki.edg.com/pub/CFP/WebHome/footnote_296_rev.pdf</a><br class=""></blockquote><br class="">shouldn't it be 16^P >= b^p instead? If we have a number with p digits in<br class="">radix b, and want to output it in radix B with P digits, we need<br class="">P >= 1 + p*log(b)/log(B) so that we can recover the input number exactly<br class="">(cf page 177 of Modern Computer Arithmetic). This means B^(P-1) >= b^p.<br class="">Here we have B=2 with P replaced by 4P+1 (4P because in hexadecimal, and<br class="">+1 because of the first hexadecimal digit which has at least one bit), thus<br class="">we get 2^4P >= b^p, i.e., 16^P >= b^p.<br class=""><br class="">For example, for b=2 and p=4, this yields P=1 instead of P=2 for 16^P > b^p.<br class=""><br class="">Note that equality can occur only when b is a power of two, say b=2^k.<br class="">If we want to distinguish such a case, then it should be 4P+1 >= pk<br class="">thus 16^P >= b^p/2, which would give P=1 for b=2 and p=5 instead of P=2.<br class=""><br class="">Also should "the decimal-point character" be "the hexadecimal-point character"?<br class=""><br class="">Paul<br class=""></div></div></blockquote></div><br class=""></div></div></body></html>