Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>The C99 standard Annex F says:</p> <blockquote> <p>This annex specifies C language support for the <em>IEC 60559 floating-point standard. The IEC 60559 floating-point standard is specifically Binary floating-point arithmetic for microprocessor systems, second edition (IEC 60559:1989)</em>, previously designated <em>IEC 559:1989</em> and as <em>IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE 754−1985)</em>. <em>IEEE Standard for Radix-Independent Floating-Point Arithmetic (ANSI/IEEE 854−1987)</em> generalizes the binary standard to remove dependencies on radix and word length. IEC 60559 generally refers to the floating-point standard, as in IEC 60559 operation, IEC 60559 format, etc. An implementation that defines <code>__STDC_IEC_559__</code> shall conform to the specifications in this annex. Where a binding between the C language and IEC 60559 is indicated, the IEC 60559-specified behavior is adopted by reference, unless stated otherwise.</p> </blockquote> <p>And, immediately after,</p> <blockquote> <p>The C floating types match the IEC 60559 formats as follows:</p> <ul> <li>The <code>float</code> type matches the IEC 60559 single format.</li> <li>The <code>double</code> type matches the IEC 60559 double format.</li> </ul> </blockquote> <p>So, if IEC 60559 is basically IEEE 754-1985 and this specifies that 8 zero bytes mean 0.0 (as @David Heffernan said), this means that if you find <code>__STDC_IEC_559__</code> defined you can safely do a 0.0 initialization with <code>memset</code>.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload