码迷,mamicode.com
首页 > 其他好文 > 详细

190. Reverse Bits

时间:2016-07-21 06:27:01      阅读:289      评论:0      收藏:0      [点我收藏+]

标签:

知识点

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

Integer.toBinaryString()//int转成binary

Integer.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位

 

190. Reverse Bits

标签:

原文地址:http://www.cnblogs.com/warmland/p/5690333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!