int bitpos(int);
int main(void) {
int n = 0x00000001; int i = 0;
for(i=0;i<32;++i) { printf("n%d %d\n", i, bitpos(n<<i)); } return 0;
}
int bitpos(int n) {
int m = 0;
m|="\0\x10"[!!(n&0xFFFF0000)]; m|="\0\x8"[!!(n&0xFF00FF00)]; m|="\0\x4"[!!(n&0xF0F0F0F0)]; m|="\0\x2"[!!(n&0xCCCCCCCC)]; m|="\0\x1"[!!(n&0xAAAAAAAA)];
return( m );
}