题解 | #进制转换#

进制转换

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       while(sc.hasNext()) {
        String s = sc.nextLine();
        String hex = s.substring(2);
        StringBuilder sb = new StringBuilder(hex);
        hex = sb.reverse().toString();
        int num = 0;
        int res = 0;
        for(int i = 0;i < hex.length();i++) {
            char h = hex.charAt(i);
            if (h >='0' && h<='9') {
                num = h-'0';
            }else if (h>='a' && h<='f') {
                num = h-'a'+10;
            } else if (h>='A'&&h<='F') {
                num = h-'A'+10;
            }
            res += num * Math.pow(16.0,i);
        }
        System.out.println(res);
       }
    }
}

全部评论
按16进制转10进制模拟计算
点赞 回复 分享
发布于 2023-02-14 11:57 广东

相关推荐

听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务