[Bug 2642] Value space for xs:float is incorrect

http://www.w3.org/Bugs/Public/show_bug.cgi?id=2642

           Summary: Value space for xs:float is incorrect
           Product: XML Schema
           Version: 1.0/1.1 both
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Datatypes: XSD Part 2
        AssignedTo: cmsmcq@w3.org
        ReportedBy: mike@saxonica.com
         QAContact: www-xml-schema-comments@w3.org


The value space for xs:float is described in both 1.0 and 1.1 as

The basic ˇvalue spaceˇ of float consists of the values m × 2^e, where m is an
integer whose absolute value is less than 2^24, and e is an integer between -149
and 104, inclusive. 

This is incorrect: it would require 33 bits to represent this value space. In
fact, single precision floating point allocates 1 bit for the sign, 8 bits for
the exponent, and 23 bits for the (unsigned) mantissa. The description should read:

The basic ˇvalue spaceˇ of float consists of the values m × 2^e, where m is an
integer whose absolute value is less than 2^23, and e is an integer between -149
and 104, inclusive.

Michael Kay

Received on Thursday, 5 January 2006 13:12:11 UTC