开发者社区> 问答> 正文

怎样实现十六进制转八进制和十进制?

(1)问题一
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535
(2)问题二
  给定n个十六进制正整数,输出它们对应的八进制数。
输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由0~9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。
输出格式
  输出n行,每行为输入对应的八进制正整数。
  【注意】
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。
样例输入
  2
  39
  123ABC
样例输出
  71
  4435274
  【提示】
  先将十六进制数转换成某进制数,再由某进制数转换成八进制。

展开
收起
蛮大人123 2016-05-31 14:40:53 3487 0
2 条回答
写回答
取消 提交回答
  • 十六进制转八进制: 可以先转换为二进制再转换为八进制(也可以先转换为十进制,再转换称八进制) //十六进制转二进制 String bs1 = Integer.toBinaryString(Integer.valueOf("A1", 16)); System.out.println(bs1); //二进制转八进制 String os1 = Integer.toOctalString((Integer.valueOf(bs1, 2))); System.out.println(os1); 十六进制转十进制: //十六进制转换为十进制 int y = Integer.parseInt("AB",16); System.out.println(y);
    2019-07-17 19:21:55
    赞同 展开评论 打赏
  • 我说我不帅他们就打我,还说我虚伪
     String toOct(int n)
    {
        String s = "";
            while (n > 0)
            {
                int x = n % 8;
                    s = (x + '0').toString() + s;
                    n = n / 8;
            }
            return s;
    }
    2019-07-17 19:21:55
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载