1. 将十进制数任意转为其他进制
public class TestOne {
public static void main(String[] args) {
// 传入十进制数据:16
BigInteger in = new BigInteger(String.valueOf(16));
// 转二进制
System.out.println(in .toString(2));
// 转十六进制
System.out.println(in .toString(16));
}
}
2. 将任意进制数据转其他任意进制
public class TestOne {
public static void main(String[] args) {
// 传入数据,传入该数据的位数进制
// 这里表示为:八进制的16
BigInteger integer = new BigInteger(String.valueOf(16),8);
// 1110
System.out.println(integer.toString(2));
// 14
System.out.println(integer.toString(10));
// E
System.out.println(integer.toString(16));
}
}
有时间可以写个工具类。
判断10进制数字,转二进制后,每一位是否为0:
例如: 15的二进制
0 0 0 0 1 1 1 1
二进制是从后面向前读,下面的方法结果:
第0位是 false
第1位是 false
第2位是 false
第3位是 false
第4位是 true
第5位是 true
第6位是 true
第7位是 true
/**
* @param target 需要判断的10进制数字
* @param count 第几位 ,从0开始
* @return
*/
public static boolean isZero(int target,int count){
return (target >> count &1) == 0 ;
}