二進制的前導的零(


 

 

 

 

 

 

二進制的前導的零

題目內容:

計算機內部用二進制來表達所有的值。一個十進制的數字,比如18,在一個32位的計算機內部被表達為00000000000000000000000000011000。可以看到,從左邊數過來,在第一個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 sc = new Scanner(System.in);

		int number = 0;// 一個整數,在32位的整數可以表達的范圍內。
		int wei = 32;// 32位的計算機
		String result = null;// 字符串

		number = sc.nextInt();// 輸入

		result = Integer.toBinaryString(number);// Returns a string representation of the integer argument as an unsigned integer in base 2.

		if (number != 0) {// 一個整數,表達輸入被表達為一個32位的二進制數時,在第一個1之前的0的數量。
			System.out.println(wei - result.length());
		} else {
			System.out.println(wei);
		}
	}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM