[an error occurred while processing this directive]
|
Вот это у меня реально работает (компилер MSVC 6.0)
#define bitencode(x) ( ((((1##x##I64)/1I64)&1)<<0) | \
((((1##x##I64)/10I64)&1)<<1) | \
((((1##x##I64)/100I64)&1)<<2) | \
((((1##x##I64)/1000I64)&1)<<3) | \
((((1##x##I64)/10000I64)&1)<<4) | \
((((1##x##I64)/100000I64)&1)<<5) | \
((((1##x##I64)/1000000I64)&1)<<6) | \
((((1##x##I64)/10000000I64)&1)<<7) | \
((((1##x##I64)/100000000I64)&1)<<8) | \
((((1##x##I64)/1000000000I64)&1)<<9) | \
((((1##x##I64)/10000000000I64)&1)<<10) | \
((((1##x##I64)/100000000000I64)&1)<<11) | \
((((1##x##I64)/1000000000000I64)&1)<<12) | \
((((1##x##I64)/10000000000000I64)&1)<<13) | \
((((1##x##I64)/100000000000000I64)&1)<<14) | \
((((1##x##I64)/1000000000000000I64)&1)<<15) )#include
int main(int argc, char* argv[])
{printf("%x\n",bitencode(0101010101010101));
printf("%x\n",bitencode(1010101010101010));
return 0;
}
E-mail: info@telesys.ru