Public Comment Number PC-UK0266 ISO/IEC CD2 9899 (SC22N2794) Public Comment =========================================== Date: 1998-09-22 Author: N.M Maclaren Author Affiliation: Self Postal Address: University of Cambridge, Computer Laboratory, New Museums Site, Pembroke Street, Cambridge CB3 3QG, United Kingdom E-mail Address: Telephone Number: +44 1223 334761 Fax Number: +44 1223 334679 Category: Normative change to existing feature retaining the original intent Committee Draft subsection: 6.2.6.2, 6.4.4.1 etc. Title: Problems with multiple zero representations etc. Detailed description: PC-UK0122 and other public comments raised some serious problems with multiple representations of zero, but the FCD has addressed only some of them. The remaining comments in PC-UK0122 have been separated out, and this is one of them. Return and initial values of zero and unspecified non-zero are defined throughout the standard, but the standard now defines two forms of zero for signed magnitude and ones' complement, which causes serious ambiguity and conflicts. Signed integer values are commonly used to hold flag bits, and this will stop working if the constant zero can have all of its bits set (as is possible for ones' complement arithmetic.) While no function in the C standard has an int value that may be either zero or used for flag bits, this is a common convention, and existing practice is that such functions return the value of all bits zero for the value of zero. The following should be added to 6.2.6.2: When other sections of this standard requires a function call to return zero, a constant to have value zero, or an expression to evaluate to zero, the implementation shall use the value consisting of all bits zero.