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