博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二进制中1的个数
阅读量:5092 次
发布时间:2019-06-13

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

题目:给你一个int型的整数,返回它二进制中1的个数,注意可能给负数

思路:用无符号右移可以解决负数的情况,while循环的条件要变成不等于0

 

public class Solution {    // you need to treat n as an unsigned value    public int hammingWeight(int n) {        int count = 0;        while (n != 0) {            count += n & 1;             n >>>= 1;        }        return count;    }}

 注:>>>:无符号右移,高位补0;>>:右移,高位补符号位;

转载于:https://www.cnblogs.com/team42/p/6891140.html

你可能感兴趣的文章
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
python3 生成器与迭代器
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
IOS--沙盒机制
查看>>
sqlite的坑
查看>>
digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04
查看>>
【题解】[P4178 Tree]
查看>>
Mongo自动备份
查看>>
cer证书签名验证
查看>>
synchronized
查看>>
【深度学习】caffe 中的一些参数介绍
查看>>
Python-Web框架的本质
查看>>