2026年1月12日22点07分
x^x = 0
x^0 = x
x^x^x = 0
x^x^y = y
x = x&(x-1)
将x的二进制中的最后一个1置0
x 0100 1011 0100
x-1 0100 1011 0011
x&(x-1) 0100 1011 0000
最后一个1之后的位置均为0,x-1会一直向前借位,直到借位到最后一个1
将x与(x-1)进行位与运算,会将最后一个1及其后所有位全部置0
当 x | y = y 时,有 x & y = x 成立,反之亦然成立
此时,x<=y,且x的某一位若是1,则有y的对应位也为1
x 0000 0010 1101
y 0001 0110 1101
x^0 = x
x^x^x = 0
x^x^y = y
x = x&(x-1)
将x的二进制中的最后一个1置0
x 0100 1011 0100
x-1 0100 1011 0011
x&(x-1) 0100 1011 0000
最后一个1之后的位置均为0,x-1会一直向前借位,直到借位到最后一个1
将x与(x-1)进行位与运算,会将最后一个1及其后所有位全部置0
当 x | y = y 时,有 x & y = x 成立,反之亦然成立
此时,x<=y,且x的某一位若是1,则有y的对应位也为1
x 0000 0010 1101
y 0001 0110 1101
全部评论
相关推荐