二进制

来源:互联网 发布:巨人网络征途 编辑:程序博客网 时间:2024/05/01 00:28

一个整数的二进制中1的个数。

 

1. 每次右移一位,累加

 

 

2. a & (a-1) 会消掉从右数第一个1。 如1110 & 1101 = 1100,1100 & 1011 = 1000,1000 & 0111 = 0。重复操作直到为0,统计操作个数。

 

 

 

判断一个数是否为2的方幂:n>0 && ((n & (n-1)) ==0)

原创粉丝点击