int a;
a&(a-1)的结果是什么呢?
首先将数值 a 用二进制表示,那么a-1表示啥?1000100-1即为1000001
含义如下,从右往左第一个1出现的位置置0;此位置后面的0全部置为1;
当他们相与的时候从找到的第一个1的位置及其往后位置全部变为0;效果就是消除了最后一个1;
int a;
a&(a-1)的结果是什么呢?
首先将数值 a 用二进制表示,那么a-1表示啥?1000100-1即为1000001
含义如下,从右往左第一个1出现的位置置0;此位置后面的0全部置为1;
当他们相与的时候从找到的第一个1的位置及其往后位置全部变为0;效果就是消除了最后一个1;
本文标题:关于a&(a-1)的作用
本文链接:https://www.haomeiwen.com/subject/cosgxttx.html
网友评论