////////////////////////////////////////////////////////////////////////////////
// << 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