求正负二进制数的1的个数

2021/6/20 6:27:29

本文主要是介绍求正负二进制数的1的个数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

class Solution {
public:
     int  NumberOf1(int n) {
         int ans = 0;
         int mask = 1;
         while(mask != 0){
             if(mask & n) ++ans;
             mask <<= 1;
         }
         return ans;
     }
};

---这个方法很好的解决了负数在机器码里存储符号位为1的问题,将mask掩码从右向左移位。

(反之,如果是将数据n从左向右移位,会让最高位补0)



这篇关于求正负二进制数的1的个数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程