题解 | #进制转换#

进制转换

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

1.十六进制转十进制公式: 要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就可以了
2.利用count对应位数
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNext()){
            String num = sc.nextLine();
            int length = num.length();
            int count = 0;
            int sum = 0;
            for(int i = length-1; i>=2; i--){
                if(num.charAt(i)=='A'){
                    sum += Math.pow(16,count)*10; 
                }else if(num.charAt(i)=='B'){
                    sum += Math.pow(16,count)*11; 
                }else if(num.charAt(i)=='C'){
                    sum += Math.pow(16,count)*12; 
                }else if(num.charAt(i)=='D'){
                    sum += Math.pow(16,count)*13; 
                }else if(num.charAt(i)=='E'){
                    sum += Math.pow(16,count)*14; 
                }else if(num.charAt(i)=='F'){
                    sum += Math.pow(16,count)*15; 
                }else {
                    sum += Math.pow(16,count)*Integer.parseInt(num.substring(i,i+1));
                }
                count++;
            }
            System.out.println(sum);
        }
    }
}

全部评论

相关推荐

05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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