其他分享
首页 > 其他分享> > day21

day21

作者:互联网

1.剑指 Offer 15. 二进制中 1 的个数

 与1同位与判断最低位是否是1,判断完右移继续判断下一个

 1 class Solution {
 2 public:
 3     int hammingWeight(uint32_t n) {
 4         int cnt = 0;
 5         while(n){
 6           if(n & 1 == 1)  cnt ++;
 7           n >>= 1;
 8         }
 9         return cnt;
10     }
11 };

2.剑指 Offer 65. 不用加减乘除做加法

 贴个k神的代码吧,二进制加法运算,计算机组成原理书上有过程

 1 class Solution {
 2 public:
 3     int add(int a, int b) {
 4         while(b != 0)
 5         {
 6             int c = (unsigned int)(a & b) << 1;
 7             a ^= b;
 8             b = c;
 9         }
10         return a;
11     }
12 };

 

标签:cnt,Offer,int,day21,Solution,class,public
来源: https://www.cnblogs.com/balabalabubalabala/p/16486048.html