Thoughts on unified integer literal improvements

Weijun Wang Weijun.Wang at Sun.COM
Mon Jun 29 03:03:01 PDT 2009


255 or -1.

Reinier Zwitserloot wrote:
> 0xFFu is 127?
> 
> I hope that was a typo and you meant to write 256.
> 
>   --Reinier Zwitserloot
> 
> 
> 
> On 2009/29/06, at 11:56, Weijun Wang wrote:
> 
>>> long ell = 0xFFFFFFFFu; // A positive long value
>> Any particular requirement here? Why not simply
>>
>>   long ell = 0xFFFFFFFFl;
>>
>>> I think this approach has some advantages over the "y" suffix; in
>>> particular I think it gives more desirable behavior in cases like  
>>> this:
>>>
>>> byte b = 0xFFy // a negative byte value
>>> byte b = 0xFFu // also a negative byte value
>>>
>>> short s = 0xFFy // a negative short value, -128;
>>>                 // byte value is signed extended
>>> short s = 0xFFu // a positive short value, +127
>>>
>>> int   i = 0xFFy // -128
>>> int   i = 0xFFu // 127
>> Does this mean the actual value of 0xFFu is determined by looking at  
>> the
>> LHS of the assignment? This is terrible.
>>
>> I'd rather use something like 0bXX which is itself always a byte  
>> literal.
>>
>> Max
>>
>>> -Joe
>>>
> 
> 



More information about the coin-dev mailing list