• 蓝桥杯 算法训练 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 }
  • 相关阅读:
    springboot启动只显示图标不报错
    tmux常用
    ubuntu+anaconda+mxnet环境配置
    OpenCV学习笔记(二)
    c++基础
    c++算法实现(一)
    pytorch使用不完全文档
    ubuntu上传到百度网盘
    pickel加速caffe读图
    caffe常用
  • 原文地址:https://www.cnblogs.com/cao-lei/p/6690557.html
Copyright © 2020-2023  润新知