zoukankan      html  css  js  c++  java
  • 蓝桥杯 算法训练 ALGO-151 6-2递归求二进制表示位数

    算法训练 6-2递归求二进制表示位数  
    时间限制:10.0s   内存限制:256.0MB
    问题描述
      给定一个十进制整数,返回其对应的二进制数的位数。例如,输入十进制数9,其对应的二进制数是1001,因此位数是4。
    样例输入
    一个满足题目要求的输入范例。
    9
    样例输出
    与上面的样例输入对应的输出。
    数据规模和约定
      输入数据中每一个数的范围。
      例:输入在int表示范围内。
     
    题目解析:
      在 Java 的 Integer 类的方法中,有将十进制数转换为二进制、八进制和十六进制的三个方法。若参数为正整数,则将以 X 进制无符号整数形式返回一个整数参数的字符串表示形式,否则,无符号整数值为参数加上 2^32 。
      本题中直接调用 Integer 类的 toBinaryString() 方法,返回字符串后再调用 length() 方法,求得二进制表示位数。
     
    补充:  十进制转十六进制:   Integer.toHexString(int i)
         十进制转八进制:      Integer.toOctalString(int i)
         十进制转二进制:      Integer.toBinaryString(int i)
     

         十六进制转十进制:   Integer.valueOf("FFFF",16).toString()
         八进制转十进制:      Integer.valueOf("123",8).toString()
         二进制转十进制:      Integer.valueOf("1001",2).toString()

    示例代码:

     1 import java.util.Scanner;
     2 
     3 public class Main {
     4     public static void main(String[] args) {
     5         Scanner sc = new Scanner(System.in);
     6         int n = sc.nextInt();
     7         
     8         //因为返回的是一个整数参数的字符串表示形式,所以利用length()方法求得字符串长度
     9         int len = Integer.toBinaryString(n).length();
    10         
    11         System.out.println(len);
    12     }
    13 }
  • 相关阅读:
    eclipse如何正确部署tomcat7
    调用awk的三种方式
    jupyter的简单操作
    编程语言简介
    2019.9.6作业
    计算机的基本组成
    9.2作业
    CPP 栈 示例
    关于使用栈将一般运算式翻译为后缀表达式并实现三级运算的方法及实例(cpp版)
    深度遍历破解数独游戏
  • 原文地址:https://www.cnblogs.com/cao-lei/p/6690557.html
Copyright © 2011-2022 走看看