バイナリの先頭のゼロ

762 ワード

バイナリの先頭のゼロ
(10点)
タイトル内容:
コンピュータ内部ではすべての値をバイナリで表現します.18のような10進数は、32ビットのコンピュータ内では1億億億円、1千万円と表現されています.左側から数えてみると、1番目の1の前に27個の0があります.これらの0を先頭のゼロと呼びます.
今、あなたの任務はプログラムを書いて、整数を入力して、32ビットのバイナリ表現の下でその先頭のゼロの個数を出力します.
入力形式:
32ビットの整数が表現できる範囲内の整数です.
出力フォーマット:
入力が32ビットのバイナリ数として表されるときの、最初の1より前の0の数を表す整数.
サンプルを入力:
256
出力サンプル:
23
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);

		int number = 0;
		int bits = 32;
		String result = null;

		number = in.nextInt();

		result = Integer.toBinaryString(number);

		if (number != 0) {
			System.out.println(bits - result.length());
		} else {
			System.out.println(bits);
		}
	}
}