常用的进制:二进制;八进制;十进制;十六进制
1.二进制转换成十进制
(1)自带转换方法
/**
* 二进制转十进制,自带方法
*
* @param num
* @return
*/
public static int twoToTenZd(String num) {
int b = Integer.parseInt(num, 2);
return b;
}
(2)自己写方法转换
/**
* 二进制转十进制自己转换,不使用自带方法
*
* @param num
* @return
*/
public static int twoToTen(int num) {
int result = 0;
int p = 0;
while (true) {
if (num == 0) {
break;
} else {
int temp = num % 10;
result += temp * Math.pow(2, p);
num = num / 10;
p++;
}
}
return result;
}
2.十进制转换成二进制
/**
* 十进制转二进制
*
* @param num
* @return
*/
public static String tenToTwo(int num) {
String s = Integer.toBinaryString(num);
return s;
}
3.测试代码
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 2;
// String dddd = Integer.toBinaryString(a);
// System.out.println(dddd);
System.out.println(tenToTwo(a));
String b = "100";
System.out.println(twoToTenZd(b));
int c = 1000;
System.out.println(twoToTen(c));
}
/**
* 十进制转二进制
*
* @param num
* @return
*/
public static String tenToTwo(int num) {
String s = Integer.toBinaryString(num);
return s;
}
/**
* 二进制转十进制,自带方法
*
* @param num
* @return
*/
public static int twoToTenZd(String num) {
int b = Integer.parseInt(num, 2);
return b;
}
/**
* 二进制转十进制自己转换,不使用自带方法
*
* @param num
* @return
*/
public static int twoToTen(int num) {
int result = 0;
int p = 0;
while (true) {
if (num == 0) {
break;
} else {
int temp = num % 10;
result += temp * Math.pow(2, p);
num = num / 10;
p++;
}
}
return result;
}
}