Skip to content

Latest commit

 

History

History
72 lines (56 loc) · 1.81 KB

File metadata and controls

72 lines (56 loc) · 1.81 KB

Java 程序:二进制到十进制的转换

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

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

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