A puzzle (easy one)

Wyverex wyverex.cypher at gmail.com
Wed Aug 6 18:57:21 PDT 2008


Wyverex wrote:
> BCS wrote:
>> Reply to Koroskin,
>>
>>> Write a one-line compile-time function (or template) that returns a
>>> number, which can be written in binary as 010101010...010101. Exactly
>>> the  same code should work for byte, short, int, long, cent etc.
>>>
>>> No loops or recursion allowed. Use nothing but brain! :)
>>>
>>
>> template it(T)
>> {
>> T it = 
>> 0x5555_5555_5555_5555_5555_5555_5555_5555_5555_5555_5555_5555_5555_5555_5555_5555 
>> & (t.max | t.min);
>> }
>>
>>
> Tried something like this, but mine and yours gives integer overflow...


template crazy( T )
{
   T crazy =  0xAAAA_AAAA_AAAA_AAAA;
}

as long as the hex string is less then ulong.max ...  or ucent.max when 
that gets implemented...


More information about the Digitalmars-d-learn mailing list