例:
十进制 1958 转 16进制,计算公式如下:
1958 % 16== 6
1958 / 16 == 122
122 %16==10也就是A
122/16 == 7
7<16
1958的16进制为7A6
import java.util.Scanner;
public class J3_0717{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("please input a dec");
int s=in.nextInt();
System.out.println(s+" hex is "+decToHex(s));
}
public static String decToHex(int s){
String hex="";
int x=0;
while(s!=0){
x=s%16;
hex=changeToChar(x)+hex;
s/=16;
}
return hex;
}
public static char changeToChar(int r){
if(r<10){
return (char)(r+'0');
}
else{
return (char)(r-10+'A');
}
}
}