标签:nat tps number func tar NPU http 实现 any
Reverse bits of a given 32 bits unsigned integer.
Example 1:
Input: 00000010100101000001111010011100
Output: 00111001011110000010100101000000
Explanation: The input binary string 00000010100101000001111010011100 represents the unsigned integer 43261596, so return 964176192 which its binary representation is 00111001011110000010100101000000.
Example 2:
Input: 11111111111111111111111111111101
Output: 10111111111111111111111111111111
Explanation: The input binary string 11111111111111111111111111111101 represents the unsigned integer 4294967293, so return 3221225471 which its binary representation is 10101111110010110010011101101001.
Note:
-3
and the output represents the signed integer -1073741825
.Follow up:
If this function is called many times, how would you optimize it?
将32位无符号整数的二进制数字逆置,返回构成的新整数。
每次取一位逆序处理。
public class Solution {
// you need treat n as an unsigned value
public int reverseBits(int n) {
int ans = 0;
for (int i = 0; i < 32; i++) {
ans <<= 1;
ans |= n & 1;
n >>= 1;
}
return ans;
}
}
/**
* @param {number} n - a positive integer
* @return {number} - a positive integer
*/
var reverseBits = function(n) {
return Number.parseInt(n.toString(2).padStart(32, ‘0‘).split(‘‘).reverse().slice(0, 32).join(‘‘), 2)
};
/**
* @param {number} n - a positive integer
* @return {number} - a positive integer
*/
var reverseBits = function (n) {
let ans = 0
for (let i = 0; i < 32; i++) {
ans <<= 1
ans |= n & 1
n >>= 1
}
ans >>>= 0 // js位运算默认使用有符号整数,该步骤可以将其转化为无符号整数
return ans
}
标签:nat tps number func tar NPU http 实现 any
原文地址:https://www.cnblogs.com/mapoos/p/13291258.html