题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

3、将十六进制字母转换成对应的数字

import java.util.Scanner;


public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String hex = in.nextLine();
        hex = hex.substring(2); //去掉0x

        int res = 0;
        int count = 0;
        for(int i = hex.length() - 1; i >= 0; i--){
            char c = hex.charAt(i);
            int num1 = 0;
            //获取十六进制字母所对应的数值
            if(c >= '0' && c <='9'){
                num1 = c - '0';
            }else if(c >= 'a' && c <= 'f'){
                num1 = c - 'a' + 10;
            }else if(c >= 'A' && c <= 'F'){
                num1 = c - 'A' + 10;
            }

            int num2 = (int)Math.pow(16, (double) count);
            count++;
            res += num1 * num2;
        }
        System.out.println(res);
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
27届毕业,最近想找一段大厂实习,感觉简历有些问题,好多都不给面,求大佬们指点,最近好焦虑
重生之我学Java干...:我从后端的角度分析一下你的第一个项目,我感觉亮点不是很突出。因为我是因为组内有需求,临时上手学react干活。我用到的技术基本就cover你那个智慧园区管理平台的很多亮点了。那作为比较专业的前端,你上述的内容是不是有点单薄呢。感觉还得包装
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务