leetcode-190&191 Reverse Bits & Number of 1 Bits

原创 2015年07月08日 12:01:39

一、190 Reverse Bits
Reverse bits of a given 32 bits unsigned integer.

For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).

代码:

class Solution {
public:
    uint32_t reverseBits(uint32_t n) {
        stack<int> s;
        int k=0;
        while( n != 0)
        {
            s.push(n%2);//存储二进制码
            n /= 2;
            k++;//计算位数
        }
        uint32_t sum=0;
        for(int i=k; i > 0; i--)
        {
            sum = sum + s.top()*pow(2 , 32-i);//逆顺序求值
            s.pop();
        }
        return sum;
    }
};

二、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).

For example, the 32-bit integer ’11’ has binary representation 00000000000000000000000000001011, so the function should return 3.
计算非负整数的二进制中1的个数。
时间8ms。
代码:

class Solution {
public:
    int hammingWeight(uint32_t n) {
        int k=0;
        while(n != 0)
        {
            if( n % 2)
            k++;
            n /= 2;
        }
        return k;
    }
};
版权声明:本文为博主原创文章,未经博主允许不得转载。

[LeetCode-191] Number of 1 Bits(判断一个整数中有多少个1)

方法一:【分析】判断一个整数最右边是不是1,我们可以把输入的整数和1相&,判断相&之后的结果,判断是不是为1,然后继续移位判断其它位 方法二:【分析】上述的方法只适用于正数,当输入的数为一个负数的时候...
  • xy010902100449
  • xy010902100449
  • 2015年09月14日 20:42
  • 1008

【LeetCode】Reverse Bits 翻转二进制

题目Reverse Bits Reverse bits of a given 32 bits unsigned integer. For example, given input ...
  • xiangshimoni
  • xiangshimoni
  • 2015年04月23日 14:59
  • 1051

nasm汇编之 BITS

摘要:我们都有感触,汇编语言不像C语言,没有可移植的特性,有intel的汇编,AT&T的汇编,win32汇编程序,IBM汇编程序,gas汇编程序,nasm汇编程序。那么这些汇编程序有什么区别?汇编语言...
  • trochiluses
  • trochiluses
  • 2014年02月16日 22:39
  • 2069

MFC+MD5加密+32位小写

md5.h #ifndef MD5_H #define MD5_H #include #include /* Type define */ typedef unsigned char by...
  • norrowhua
  • norrowhua
  • 2015年07月03日 09:58
  • 459

Number of 1 Bits(二进制中1的个数)

Write a function that takes an unsigned integer and returns the number of ’1’ bits it has (also know...
  • ajiangfan
  • ajiangfan
  • 2016年10月12日 11:25
  • 258

C标准库源码解剖(1):类型相关的定义

C标准库源码解剖(1):类型相关的定义 分类: C语言&嵌入式2009-09-30 13:53 1619人阅读 评论(1) 收藏 举报 cgcc编译器float平台include ...
  • zdy0_2004
  • zdy0_2004
  • 2014年09月26日 01:00
  • 1087

ffmpeg源码分析三:transcode_init函数

transcode_init()函数是在转换前做准备工作的。下面看看其源代码:
  • u012905728
  • u012905728
  • 2014年05月05日 16:49
  • 1817

LuaBit 对于LUA语言位操作符LUA语言实现,依赖于LUA Number的定义。(可参看未定义的实现部分)

//位操作运算不能对浮点型进行操作。在进行位操作时进行检查 local function check_int(n) -- checking not float if(n - math.floor(...
  • sunning9001
  • sunning9001
  • 2015年06月09日 00:01
  • 774

MSP430G2xx1系列USI的SPI模式详解

简述在 MSP430 系列中微控制器中有三种串行通讯模块。它们分别是 USART 、 USI 和 USCI 。 USART 支持同一硬件模块的两种串行模式,分别是 UART 和 SPI 。 USAR...
  • yanyuanfen2011
  • yanyuanfen2011
  • 2017年07月09日 18:07
  • 327

wireshark 抓包内容分析

从该界面可以看出显示了五行信息,默认这些信息是没有被展开的。各行信息如下所示: q  Frame:物理层的数据帧概况。 q  EthernetII:数据链路层以太网帧头部信息。 q ...
  • Xing6Kai
  • Xing6Kai
  • 2017年10月31日 21:16
  • 105
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode-190&191 Reverse Bits & Number of 1 Bits
举报原因:
原因补充:

(最多只允许输入30个字)