博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
190. Reverse Bits
阅读量:4611 次
发布时间:2019-06-09

本文共 733 字,大约阅读时间需要 2 分钟。

知识点

1. java中int和binary之间互相转换的自带函数

Integer.toBinaryString()//int转成binaryInteger.parseInt(strToBeParsed, base)//bianry转回int

2. int的最大值是231-1,用二进制表示就是有31个1,int有32位,第一位是表示符号,java中没有unsigned int,如果有的话是32位

这题用string的方法做是:

1     public int reverseBits(int n) { 2         StringBuilder sb = new StringBuilder(); 3         String binaryStr = Integer.toBinaryString(n); 4         for(int i = 0; i < 32 - binaryStr.length(); i++) { 5             sb.append('0'); 6         } 7         sb.append(binaryStr); 8         sb.reverse(); 9         long resLong = Long.parseLong(sb.toString(), 2);10         return (int)resLong;11     }

不用考虑溢出的情况,因为unsigned int用32位表示,无论如何也不会溢出,但是需要转成long是因为int本身只有31位

 

转载于:https://www.cnblogs.com/warmland/p/5690333.html

你可能感兴趣的文章
Android 状态栏通知Notification、NotificationManager详解
查看>>
UIApplicationDelegate协议
查看>>
Jmeter测试dubbo接口填坑
查看>>
[zz]GDB调试精粹及使用实例
查看>>
数据库的创建和删除
查看>>
最简单的三层实例【插入据
查看>>
设计模式学习笔记——Prototype原型模式
查看>>
pom.xml里有红叉报错的解决办法
查看>>
Perl last和next的用法区别
查看>>
Selenium 管理 Cookies
查看>>
exceptionfunction[LeetCode]Permutations
查看>>
Linux(2)_常用命令2
查看>>
自定义分页
查看>>
[转]DELPHI——调试(1)
查看>>
JS秒数转成分秒时间格式
查看>>
xp_cmdshell 命令的开启与关闭,和状态查询
查看>>
Linux sudoers
查看>>
MySQL详解(18)-----------分页方法总结
查看>>
bzoj 4595 激光发生器
查看>>
multi cookie & read bug
查看>>