大纲
- 将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 stub
int 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