美文网首页
进制转换

进制转换

作者: 知_秋_ | 来源:发表于2018-09-07 15:33 被阅读0次

    写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )

    输入描述:

    输入一个十六进制的数值字符串。

    输出描述:

    输出该数值的十进制字符串。

    示例1

    输入

    0xA
    

    输出

    10
    
    解法:
        public static String str0xToDecimalSystem(String str0x0){
            int sum = 0;
            int length = str0x0.length();
            String str0x = str0x0.substring(2, length);
            length -=2;
            for(int i=0; i<length; i++){
                // 从低位遍历字符
                char place = str0x.charAt(length - i -1);
                // 当前位的字符数字
                int placeNum;
                if ('A' <= place && place <= 'F') {
                    placeNum = place - 'A' + 10;
                } else {
                    placeNum = Integer.parseInt(String.valueOf(place));
                }
                // 按权相加
                placeNum *= Math.pow(16, i);
                sum += placeNum;
            }
            return String.valueOf(sum);
        }
    

    相关文章

      网友评论

          本文标题:进制转换

          本文链接:https://www.haomeiwen.com/subject/ydycgftx.html