1. 题目

2. 题目描述

我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

输入描述:

输出描述:

  1. 十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X

备注:

  1. printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示

3. 题解

3.1 分析

考察的知识点主要是 Java 中的格式化输出,System.out.format(格式,对应数据);然后另一个知识点就是对应进制的输出 %d 代表十进制,%o 代表八进制,%x 代表十六进制,而使用 # 来控制前导显示;

3.2 代码

  1. /**
  2. * Created with IntelliJ IDEA.
  3. * Version : 1.0
  4. * Author : K
  5. * 公众号 : 村雨遥
  6. * Website : https://cunyu1943.site
  7. * Email : 747731461@qq.com
  8. * Date : 2020/12/30 上午9:46
  9. * Project : algo-practice
  10. * Package : PACKAGE_NAME
  11. * Class : BC7
  12. * Desc : 缩短二进制
  13. */
  14. public class BC7 {
  15. public static void main(String[] args) {
  16. int num = 1234;
  17. System.out.format("%#o ", num);
  18. System.out.format("%#X", num);
  19. }
  20. }