import java.util.Scanner;
public class P2031 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char chs[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};//最大十六進制所有的數
while(sc.hasNext()){
int n = sc.nextInt(); //需要轉換的數
int r = sc.nextInt(); //需要轉換的進制
boolean isNegative = false; //用來判斷是否有負數
if(n<0){
n=-n;
isNegative = true;
}
String str = "";
while(n/r>0){
str = chs[n%r]+str; //每次把算出來的加到結果的前面
n = n/r;
}
if(n%r!=0){ //如果不能除盡,則運行這個,把餘數加入結果的最前面
str = chs[n%r]+str;
}
if(isNegative){ //只有存在複數才執行,在結果中添加負號
str = "-" + str;
}
System.out.println(str);
}
}
}
十六進制內所有進制轉換!!!!速度快,運算簡單,java
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.