栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

颠倒二进制位 java

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

颠倒二进制位 java

颠倒二进制位

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

提示:

请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。
在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。

思路:

采用二进制补码的思路

方法一:(不需要采用补码的思路)
public class Solution {
    // you need treat n as an unsigned value
     public int reverseBits(int n) {
       int res = 0;
       int temp = 1;
       String str = Integer.toBinaryString(n);
       int count = 32 - str.length();
       for(int i = 0; i < str.length() ; i ++){
       if (str.charAt(i) == '1') {
       int cnt = i + count;
       while(cnt != 0){
          temp *= 2;
          cnt --;
       }
       res += temp;
       temp = 1;
}
}
       return res;
}
}
执行通过截图 法一:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583343.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号