【发布时间】:2014-12-18 06:08:33
【问题描述】:
我只需要关闭最右边的设置位。 我的方法是找到最右边的位置,然后关闭那个位。我写这段代码就是为了这样做..
int POS(int n)
{
int p=0;
while(n)
{
if(n%2==0)
{
p++;
}
else
{
break;
}
n=n/2;
}
return p;
}
int main(void)
{
int n=12;
int p = POS(n);
printf("%d \n", n&~(1<<p));
return 0;
}
有没有最简单的方法?
【问题讨论】: