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