将二进制数转换为十进制数有以下两种方法:
1)使用Integer
类的Integer.parseInt()
方法。
2)通过编写自己的逻辑进行转换,而无需使用任何预定义的方法。
方法 1:使用Integer.parseInt()
方法进行二进制到十进制的转换
import java.util.Scanner;
class BinaryToDecimal {
public static void main(String args[]){
Scanner input = new Scanner( System.in );
System.out.print("Enter a binary number: ");
String binaryString =input.nextLine();
System.out.println("输出: "+Integer.parseInt(binaryString,2));
}
}
输出:
Enter a binary number: 1101
输出: 13
方法 2:不使用parseInt
进行转换
public class Details {
public int BinaryToDecimal(int binaryNumber){
int decimal = 0;
int p = 0;
while(true){
if(binaryNumber == 0){
break;
} else {
int temp = binaryNumber%10;
decimal += temp*Math.pow(2, p);
binaryNumber = binaryNumber/10;
p++;
}
}
return decimal;
}
public static void main(String args[]){
Details obj = new Details();
System.out.println("110 --> "+obj.BinaryToDecimal(110));
System.out.println("1101 --> "+obj.BinaryToDecimal(1101));
System.out.println("100 --> "+obj.BinaryToDecimal(100));
System.out.println("110111 --> "+obj.BinaryToDecimal(110111));
}
}
输出:
110 --> 6
1101 --> 13
100 --> 4
110111 --> 55