zoukankan      html  css  js  c++  java
  • leetcode-191-Number of 1 Bits

    题目描述:

     

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

    Example 1:

    Input: 11
    Output: 3
    Explanation: Integer 11 has binary representation 00000000000000000000000000001011 
    

    Example 2:

    Input: 128
    Output: 1
    Explanation: Integer 128 has binary representation 00000000000000000000000010000000
    

     

    要完成的函数:

    int hammingWeight(uint32_t n) 

     

    说明:

    1、这道题目给定一个数n,要求转换为二进制之后,数一下有多少个1,输出1的个数。

    2、明白题意,这道题用位操作完成,十分容易。

    代码如下:(附详解)

        int hammingWeight(uint32_t n) 
        {
            int res=0;
            for(int i=0;i<32;i++)
            {
                res+=(n&1);//取出最后一位,如果是1那么加上去,如果是0加上去也一点影响都没有,避开了条件判断
                n>>=1;//n右移一位
            }
            return res;
        }
    

    上述代码实测4ms,beats 100% of cpp submissions。

  • 相关阅读:
    运算符的优先级
    运算符
    值类型与引用类型的区别
    进制转换
    Java总结第二期
    Java总结第一期
    库存管理系统
    MyBank后感
    day72
    day71
  • 原文地址:https://www.cnblogs.com/chenjx85/p/9107743.html
Copyright © 2011-2022 走看看