[Python-Dev] [Python-checkins] r64424 - in python/trunk:Include/object.h Lib/test/test_sys.py Misc/NEWSObjects/intobject.c Objects/longobject.c Objects/typeobject.cPython/bltinmodule.c

Mark Dickinson dickinsm at gmail.com
Thu Jun 26 23:26:42 CEST 2008


On Thu, Jun 26, 2008 at 9:55 PM, Mark Dickinson <dickinsm at gmail.com> wrote:
>> It's disadvantage from Python's point of view is that some features are IEEE 754

Aargh! I can't believe I wrote that. Its. Its. Its. Anyway; some
more detail:
Both C99 and Java 1.5/1.6 support hex floating-point literals; both
in exactly the
same format, as far as I can tell. Here are the relevant productions
from the Java
grammar:
HexDigit: one of
 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
HexNumeral:
 0 x HexDigits
 0 X HexDigits
HexDigits:
 HexDigit
 HexDigit HexDigits
HexadecimalFloatingPointLiteral:
 HexSignificand BinaryExponent FloatTypeSuffix_opt
HexSignificand:
 HexNumeral
 HexNumeral .
 0x HexDigits_opt . HexDigits
 0X HexDigits_opt . HexDigits
BinaryExponent:
 BinaryExponentIndicator SignedInteger
BinaryExponentIndicator:one of
 p P
Java's 'Double' class has a 'toHexString' method that
outputs a valid hex floating point string, and the Double()
constructor also accepts such strings.
C99 also appears to have full support for input/output
of hex floats; e.g. using strtod and printf('%a', ...).
Not sure how helpful this is.
Mark


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /