力扣190:颠倒二进制位

力扣190:颠倒二进制位

题目

颠倒给定的 32 位无符号整数number的二进制位。

思路

思路很简单,我们只需要得到number从低位到高位的每一个二进制位再把二进制位移到颠倒的res的对应二进制位即可,例如number的最低位为1那么res的最高位即1,也就是number的第i位是res的第31-i位。

代码

cpp 复制代码
class Solution {
public:
    int reverseBits(int n) {
        if(n == 0)
        {
            return 0;
        }
        int res = 0;
        for(int i = 0; i < 32;i++)
        {
            //res |= x 使用按位或得到每一个二进制位的值
            //(n&1) 与1进行按位与得到n的最低位的二进制值
            //x <<(31-i) 将x左移31-i位也就是将当前二进制位移到颠倒后的位置
            res |= (n&1) << (31-i);
            // x >>= 1 右移一位,舍弃最低位高位由0填补
            n >>= 1;
        }
        return res;
    }
};
相关推荐
weixin_3077791344 分钟前
C++代码实现MATLAB中的dlarray函数功能
开发语言·c++·算法·matlab
hetao17338376 小时前
2026-10-03~04 hetao1733837 的刷题记录
c++·算法
Zootopia6267 小时前
飞行力学知识梳理1|飞行性能与稳定性
人工智能·python·算法·机器学习·无人机·学习方法·信息与通信
longlongzihan7 小时前
从LeetCode 70. 爬楼梯看动态规划:如何精准推导状态转移方程?
c++·算法·leetcode·动态规划
2601_960356388 小时前
2027校招采购岗解析:数学基础如何迁移到需求预测、成本与供应商分析
人工智能·算法
h_a_o777oah8 小时前
【树论】树链剖分:将树形结构转化为线性结构以处理树上路径问题(洛谷 P3384 附C++代码模板)
数据结构·算法·线段树·acm·树链剖分·树论·重链剖分
HEJOO98 小时前
指针的算术运算详解
java·数据结构·算法
Coder-magician8 小时前
《代码随想录》刷题打卡day47:并查集-part01
数据结构·算法·图论
垆边人似月.9 小时前
VLAN 资源池(100~200 分档)
数据结构·算法
潼心1412o9 小时前
C++初阶(长期更新)第6讲:类和对象(下)
开发语言·c++·算法