力扣面试150题--颠倒二进制位

Day 89

题目描述

思路

二进制的算法,将十进制转化为二进制,有一点需要注意,直接采取库函数转化为二进制再反转会出现问题(这也是为什么我要补0的原因),因为转化过去不满足32位的二进制,前面不会当作无符号而是当作有符号数,顶位会当作符号位自动补,导致反转得到的值不对。

java 复制代码
class Solution {
    public int reverseBits(int n) {
        StringBuilder res=new StringBuilder();
       int num=2;
       while(n!=0){
          res.append(n%2);
          n=n/2;
          num=num<<1;
       }
       while(res.length()<32) {
           res.append(0);
       }
       return Integer.parseInt(res.toString(),2);
    }
}
相关推荐
数智工坊11 分钟前
【UniT论文阅读】:用统一物理语言打通人类与人形机器人的知识壁垒
论文阅读·人工智能·深度学习·算法·机器人
梓䈑14 分钟前
【算法题攻略】模拟
c++·算法
BIG_PEI14 分钟前
检查并安装Redis
java
大貔貅喝啤酒16 分钟前
基于Windows下载安装Android Studio 3.3.2版本教程(2026详细图文版)
android·java·windows·android studio
Evand J16 分钟前
【课题推荐与代码介绍】卡尔曼滤波器正反向估计算法原理与MATLAB实现
开发语言·算法·matlab
奋斗的小方18 分钟前
Java基础篇09:项目实战
java·开发语言
海兰19 分钟前
【第21篇-续】graph-Stream-Node改造为适配openAI模型示例
java·人工智能·spring boot·spring·spring ai
DFT计算杂谈20 分钟前
VASP新手入门: IVDW 色散修正参数
linux·运维·服务器·python·算法
vKd0Ff21L21 分钟前
如何在Dev-C++中设置TDM-GCC为默认编译器第九十一篇
java·jvm·c++
武子康23 分钟前
Java-221 RocketMQ 消息存储核心原理:CommitLog、ConsumerQueue、IndexFile 与消息过滤机制
java·大数据·分布式·消息队列·rabbitmq·rocketmq·java-rocketmq