[leetcode]190. Reverse Bits -- JavaScript 代码

原创 2016年08月31日 09:58:36
/**
 * @param {number} n - a positive integer
 * @return {number} - a positive integer
 */
var reverseBits = function(n) {
    var result = 0;
    for (var i = 0; i < 32; i++) {
        result |= (n >> i & 0x1) << (31 - i); 
        // 取得n特定位的值,设置到result特定位中
    }
    return result >>> 0;
};

这道题虽然是简单题,但是却涉及到了JS中,有符号数和无符号数的问题:在 JavaScript 中,所有整数字变量默认都是有符号整数。
例如,在C语言中:

unsigned int a = 3774191835u; 
unsigned int b = a >> 2; 
/* b == 943547958 */ 

但是,在JS中:

var a = 3774191835; 
var b = a >> 2; 
/* b == -130193866 */ 

可见,输出结果完全不同,因此,这道题我们就需要将JS中的有符号数转化为无符号数:

var signed,unsigned;
var signed = -1;
unsigned = signed >>> 0;// 有符号变无符号
alert(unsigned);
signed = unsigned << 0;// 无符号变有符号
alert(signed)
版权声明:原创文章~盗版必究~~ 举报

相关文章推荐

leetcode 190 Reverse Bits

Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in b...

LeetCode(190) Reverse Bits

题目如下: Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represe...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

[LeetCode][190][Reverse Bits]

题目链接:

leetcode 190:Reverse Bits

Quetions: Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (rep...

【LeetCode-190】 Reverse Bits(C++)

题目要求:要求将一个32位无符号整数所对应的二进制位反转得到的无符号整数。 解题思路:一般这种对应于二进制位的题目要考虑位运算!!而我可能对于位运算不太熟悉,每次都是用最愚蠢的办法做,虽然AC了,但是...

LeetCode 190. Reverse Bits 题解

题目链接:点击打开链接  先给出最先想到的解法,java代码如下: public class Solution { public int reverseBits(int n) {...

190. Reverse Bits [easy] (Python)

题目链接https://leetcode.com/problems/reverse-bits/题目原文 Reverse bits of a given 32 bits unsigned integ...

[LeetCode刷题记录]190-191 Number of 1 Bits & Reverse Bits

[191 Numbers of 1 Bits][EASY] Write a function that takes an unsigned integer and returns the numbe...

Reverse Bits

Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented ...

Leetcode - Reverse Bits

Reverse bits of a given 32 bits unsigned integer.For example, given input 43261596 (represented in b...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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