博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode:Number of 1 Bits
阅读量:6836 次
发布时间:2019-06-26

本文共 933 字,大约阅读时间需要 3 分钟。

Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the ).

For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should return 3.

分析:题意为计算32位整型数2进制表示中1的个数。

方法还是非常多的,也很好理解:

1、利用2进制的数学特点来

class Solution {public:    int hammingWeight(uint32_t n) {        int count=0;        while(n){        if(n%2==1) count++;        n=n/2;        }        return count;    }};

2、将每一位分别和1做与运算,计算不为0的个数即可

class Solution {public:    int hammingWeight(uint32_t n) {        int count=0;        while(n){        count+=n&1;        n>>=1;        }        return count;    }};

3、每次n&(n-1)可以将n里面的值为1的位数减少一位

class Solution {public:    int hammingWeight(uint32_t n) {        int sum = 0;        while (n)        {            n &= (n-1);            ++sum;        }         return sum;    }};

  

  

转载于:https://www.cnblogs.com/carsonzhu/p/4658278.html

你可能感兴趣的文章
单片机基础
查看>>
ZOJ 1027 Human Gene Functions(动态规划LCS)
查看>>
变量、中文-「译」javascript 的 12 个怪癖(quirks)-by小雨
查看>>
合作开发用到的几个 设计模式
查看>>
[iOS] 在UIToolBar中增加UILabel等控件(xib/storyboard图形界面方式)
查看>>
宋体节点hdoj 1520 Anniversary party(树形dp)
查看>>
优化网站设计(七):避免在CSS中使用表达式
查看>>
让你的网站拥有微博(weibo.com)关注图标
查看>>
hadoop基本命令
查看>>
若不能连接到sql server的localhost
查看>>
JavaScript无提示关闭窗口(兼容IE/Firefox/Chrome)
查看>>
Winform窗口里的嵌入WPF的UserControl,关闭Winform父窗体的方法
查看>>
JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...
查看>>
格式资料python sqlalchemy 查询结果转化为 Json格式
查看>>
超链接浏览<meta name="format-detection"/> 的用法
查看>>
请求网络网络编程
查看>>
文件目录Android SDK目录结构
查看>>
Asp.net Web.Config - 配置元素customErrors
查看>>
Android: how to resolve Application’s parameter NullPointerException
查看>>
EntityFramework用法探索(二)CodeFirst
查看>>