33,009
社区成员
发帖
与我相关
我的任务
分享
//unsigned int a = 0x20000000;//二进制是00100000 00000000 00000000 00000000
int fun(unsigned int x)
{
for(int i=0; i<32; ++i)
{
if( (x<<i) & 0x80000000)
return i;
}
return -1;
}
#define left_one(a) ({ \
int _res = -1; \
__asm__("bsr %0,%%eax":"=r"(_res):"a"(a)); \
_res;})