Number of 1 Bits
来源:互联网 发布:马哥linux培训视频 编辑:程序博客网 时间:2024/06/04 20:39
Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11’ has binary representation 00000000000000000000000000001011, so the function should return 3.
题目的意思实际上就是找出一个整数(无论是正数还是负数)的二进制码中1的个数。
思路:如果是正数的话,就直接计算出1的个数即可,但是如果是负数的话,就先把它按位取反得到其反码,然后求出反码的1的个数,很显然,如果是负数的二进制码中1的个数就是32减去反码中1的个数。
public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { int sign=0; if(n<0) { sign=1; n=~n; } int r = n % 2; int b = n / 2; int count = 0; while (b != 0) { if (r == 1) count++; r = b % 2; b = b / 2; } if (r == 1) count++; if(sign==1) count=32-count; return count; }}
0 0
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- Number of 1 Bits
- ckeditor和ckfinder集成详细配置及其优化
- 在Windows下安装MySQLdb模块
- 你所不知道的html5与html中的那些事(四)——文本标签
- C++在循环内和循环外定义变量的差异(如何写出高效的for循环)
- TCP的ACK确认系列 — 发送状态转换机
- Number of 1 Bits
- 第一篇博客
- java的String类
- 装饰模式
- 多种常见的AD滤波算法
- ThinkPHP3.2视频学习教程
- SQL 一些面试题 题目1
- 第七周 项目1-图形用户界面(GUI)应用程序开发初体验
- Service服务<一>