////////////////////////////////////////////////////////////////////////////////
//  << j172b.java >>
//
//  基礎(7):10進数と2進数の変換
//
//
// ●2進数から10進数へ変換
//  2進数の重みを加えていく。
//
//        11001=1×16+1×8+0×4+0×2+1×1
//                    =25
//
////////////////////////////////////////////////////////////////////////////////

class j172b {
  public static void main(String args[]) {

    int d; // 10進数。
    int b[] = new int[1000]; // 2進数を保存する配列。

    System.out.println("2進数から10進数へ変換");

    // 2進数。
    int k = 5;
    b[4] = 1; b[3] = 1; b[2] = 0; b[1] = 0; b[0] =1;

    System.out.print(" 2進数:");
    for( int i=k-1; i>=0; i-- ) { System.out.print(b[i]); } 
    System.out.println(); 

    // 2進数から10進数へ変換。
    d = 0;
    for( int i=k-1; i>=0; i-- ) {
      d = d * 2 + b[i];
    }

    System.out.println("10進数:" + d);

  }
}
実行結果
% javac j172b.java

% java j172b
2進数から10進数へ変換
 2進数:11001
10進数:25