算法训练 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()

示例代码:

 import java.util.Scanner;

 public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(); //因为返回的是一个整数参数的字符串表示形式,所以利用length()方法求得字符串长度
int len = Integer.toBinaryString(n).length(); System.out.println(len);
}
}

最新文章

  1. 6.nodejs权威指南--进程
  2. php 上传文件实例 上传并下载word文件
  3. ArcGIS初步 系列视频教程
  4. 【转】PHP date("Y-m-d H:i:s");获取当前时间 差8小时解决办法
  5. iOS上传应用过程中出现的错误"images contain alpha channels or transparencies"以及解决方案
  6. UML: 协作图
  7. Win2008R2PHP5.4环境加载Zend模块
  8. iOS应用中URL地址如何重定向-b
  9. [转] nginx 开启gzip压缩--字符串压缩比率很牛叉
  10. C++ 智能指针auto_ptr
  11. 行内人解读开发一个App需要多少钱?
  12. 换行符以及for循环的优化
  13. 将MPLS编译进linux内核中
  14. 认识J2SE
  15. 手机自动化测试:appium源码分析之bootstrap十五
  16. 【JS】ajax 实现无刷新文件上传
  17. java文件的基本操作示例
  18. c# 串口SerialPort
  19. Netty 基本组件与线程模型
  20. ABP Changing Httpcode status

热门文章

  1. Kubernetes pod网络解析
  2. myeclipse 10 j安装了JDK1.7,java编译器无法选择到1.7的问题
  3. 日志-logback
  4. COUNT(DISTINCT a.TransportOrderID)的用法
  5. 关于接口自动化的那些事 - 基于 Python
  6. Python中MySQL插入数据
  7. 【Swoole】简单安装与创建TCP服务器
  8. 英语发音规则---O字母
  9. phalcon: 开启模板缓存和缓存路径
  10. 解决CentOS 6环境时区、日期、时间同步方法