剑指Offer面试题:9.二进制中1的个数

剑指Offer面试题:9.二进制中1的个数

把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0。那么一个整数的二进制表示中有多少个1,就可以进行多少次这样的操作。

通过本题了解位运算相关知识,以及一个非常有用的经验:

把一个整数减去1之后再和原来的整数做位与运算,得到的结果相当于是把整数的二进制表示中的最右边一个1变成0。很多二进制的问题都可以用这个思路解决。

 

posted @ 2019-04-06 23:56  lllunaticer  阅读(121)  评论(0编辑  收藏  举报