package liuquanjiang;
import java.util.Scanner;
public class play {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个整形数字: ");
int dec = input.nextInt();
System.out.println(decNum(dec));
System.out.println(hexToDec(decNum(dec)));
}
//将十六进制转化为十进制
public static int hexToDec(String hex) {
int dec = 0;
for(int i = 0; i < hex.length(); i++) {
//取出字符串的每一个字符进行判断
char tempChar = hex.charAt(i);
if(tempChar >= '0' && tempChar <= '9') {
dec += (tempChar - '0') * Math.pow(16, hex.length() -i -1);
}
else if(tempChar >= 'A' && tempChar <= 'F') {
dec += (tempChar - 'A' + 10) * Math.pow(16, hex.length() -i -1);
}
}
return dec;
}
//将十进制转换成十六进制
public static String decNum(int dec) {
String hex = ""; //转换好的16进制字符串
while(dec != 0) {
int temp = dec % 16;
if(temp >= 0 && temp <= 9) {
hex = temp + hex;
}
else if(temp >= 10 && temp <= 15) {
//将数字转化成字符在拼接
hex = (char)(temp + 'A' - 10) + hex;
}
dec /= 16;
}
return hex;
}
}
十六进制和十进制的相互转化
最新推荐文章于 2022-04-04 09:53:20 发布