码迷,mamicode.com
首页 > 编程语言 > 详细

二进制的前导的零——mooc《零基础学Java语言》-(浙大翁凯)期末编程题

时间:2019-05-28 18:45:24      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:ted   0kb   计算   int   bsp   gen   col   style   rgs   

题目内容:

计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。

 

现在,你的任务是写一个程序,输入一个整数,输出在32位二进制表达下它前导的零的个数。

 

输入格式:

一个整数,在32位的整数可以表达的范围内。

 

输出格式:

一个整数,表达输入被表达为一个32位的二进制数时,在第一个1之前的0的数量。

 

输入样例:

256

 

输出样例:

23

 

时间限制:500ms内存限制:32000kb
 
代码实现:
/*
 * 题目内容:
计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。
可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。

现在,你的任务是写一个程序,输入一个整数,输出在32位二进制表达下它前导的零的个数。

输入格式:
一个整数,在32位的整数可以表达的范围内。

输出格式:
一个整数,表达输入被表达为一个32位的二进制数时,在第一个1之前的0的数量。

输入样例:
256

输出样例:
23

时间限制:500ms内存限制:32000kb
 */
import java.util.Scanner;

public class 二进制的前导的零 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in=new Scanner(System.in);
        long num=in.nextLong();
        int count=0;
        if(num<0) 
        {
            System.out.print(0);
        }
        else
        {
            while(num!=0) 
            {
                num/=2;
                count++;
            }
            int zero=32-count;
            System.out.print(zero);
            
        }

    }

}

 

二进制的前导的零——mooc《零基础学Java语言》-(浙大翁凯)期末编程题

标签:ted   0kb   计算   int   bsp   gen   col   style   rgs   

原文地址:https://www.cnblogs.com/daimasanjiaomao/p/10939409.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!