java -- 将int 转为二进制,再提取二进制中每一位信息

来源:互联网 发布:软件定制论坛 编辑:程序博客网 时间:2024/06/06 04:25

大纲

  • 将int 十进制变为二进制。
  • 将二进制(n进制)字符串变为十进制。
  • 10进制变为3进制(n进制)字符串

前言

  • 用二进制形式,表示事务的处理状态,是一个比较简单的做法,充分考虑了二进制的开关的性质
  • 取二进制某一位: 0 代表未处理,1代表已经进行了处理。
  • 那么 7 转成二进制 111,那么其可以表示事物的3个方面,表示的状态为8个状态。很是节省空间,相对于用一些字符串来表示状态。
  • 但是,数字表示状态,不易让人去理解。


java code:

<pre name="code" class="java">package tree.test.testString;import java.io.UnsupportedEncodingException;public class TestIntToBinary {public static void main(String[] args) throws UnsupportedEncodingException {// TODO Auto-generated method stubint data = 7;String binaryStr = java.lang.Integer.toBinaryString(data);System.out.println("the result is : " + binaryStr);byte results[] = binaryStr.getBytes("utf8");for(int i = 0;i < results.length ; i++){System.out.println("the " + i +  " result is : " + results[i]);//"1"的ascii码是49。}}}

执行的结果如下:

the result is : 111

the 0 result is : 49

the 1 result is : 49

the 2 result is : 49

2进制(n进制)到10进制

java将2进制,8进制转化为10进制

String a = "0100";int d = Integer.parseInt(a, 2); // 2进制int o = Integer.parseInt(a, 8); // 8进制System.out.println(d);System.out.println(o);

10进制变为3进制(n进制)字符串

String threeForm = Integer.toString(5, 3);

结果为:

12

PS:

与之相关的leetcode上的题目:Power of Three 

0 0