把一个数最右边那一位1弄出来

 

任何一个数取反加1之后, 第一个1至右 的位数上的数字都相同

 

 

 

然后再和原数 相与, 把第一个1保留, 其他变为0

 

int result = num & (~num+1);

 

posted @ 2021-08-28 21:38  ou尼酱~~~  阅读(136)  评论(0)    收藏  举报