lowbit(x)

int Lowbit(int x)
{
    return x&(-x);
}

lowbit当中x,-x,补码,反码,傻傻分不清楚。我们先看看两个二进制数相减的问题

两个二进制数相减的相关问题

两个二进制数相减的时候可以把符号括起来转化为加法,比如010-111,这时候就可以写成010+(-111),要将111转化为补码再相加,所以010+001=011

即,在求 -x 的时候就是求 x 的补码,x的补码等于x取反加1.

猜你喜欢

转载自blog.csdn.net/qie_wei/article/details/81232035