原文: https://beginnersbook.com/2014/07/java-program-for-binary-to-decimal-conversion/

将二进制数转换为十进制数有以下两种方法:

1)使用Integer类的Integer.parseInt()方法)。

2)通过编写自己的逻辑进行转换,而无需使用任何预定义的方法。

方法 1:使用Integer.parseInt()方法进行二进制到十进制的转换

  1. import java.util.Scanner;
  2. class BinaryToDecimal {
  3. public static void main(String args[]){
  4. Scanner input = new Scanner( System.in );
  5. System.out.print("Enter a binary number: ");
  6. String binaryString =input.nextLine();
  7. System.out.println("输出: "+Integer.parseInt(binaryString,2));
  8. }
  9. }

输出:

  1. Enter a binary number: 1101
  2. 输出: 13

方法 2:不使用parseInt进行转换

  1. public class Details {
  2. public int BinaryToDecimal(int binaryNumber){
  3. int decimal = 0;
  4. int p = 0;
  5. while(true){
  6. if(binaryNumber == 0){
  7. break;
  8. } else {
  9. int temp = binaryNumber%10;
  10. decimal += temp*Math.pow(2, p);
  11. binaryNumber = binaryNumber/10;
  12. p++;
  13. }
  14. }
  15. return decimal;
  16. }
  17. public static void main(String args[]){
  18. Details obj = new Details();
  19. System.out.println("110 --> "+obj.BinaryToDecimal(110));
  20. System.out.println("1101 --> "+obj.BinaryToDecimal(1101));
  21. System.out.println("100 --> "+obj.BinaryToDecimal(100));
  22. System.out.println("110111 --> "+obj.BinaryToDecimal(110111));
  23. }
  24. }

输出:

  1. 110 --> 6
  2. 1101 --> 13
  3. 100 --> 4
  4. 110111 --> 55