What's the rationale for considering "0x1.max" as invalid ?

Basile B. via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Apr 5 14:10:47 PDT 2016


On Tuesday, 5 April 2016 at 20:56:54 UTC, Alex Parrill wrote:
> On Tuesday, 5 April 2016 at 19:00:43 UTC, Basile B. wrote:
>> 0x1.max // exponent expected in hex float
>> 0x1 .max // OK
>> 1.max // OK
>>
>> What's the ambiguity when it's an hex literal ?
>
> It's potentially ambiguous with hexadecimal floating point 
> numbers
>
> 0xdeadbeef.p5 // hex float or hex int + method?
>
> dlang.org/spec/lex.html#HexFloat

Yes but it's pointless to allow the decimal separator to be 
followed by the exponent:

void main()
{
     import std.stdio;
     writeln( typeof(0x1p5).stringof ); // double
     writeln( typeof(0x1.p5).stringof ); // double
}



More information about the Digitalmars-d-learn mailing list