十进制到十六进制转换的Java程序
给定一个十进制数N,将N转换成等价的十六进制数,即将基数为10的数转换为基数16。十进制数系统使用10位0-9,十六进制数系统使用0-9,AF来表示任何数值。
例子:
Input : 10
Output: A
Input : 2545
Output: 9F1
方法:
- 将数字除以 16 时的余数存储在数组中。
- 现在将数字除以 16
- 重复以上两步,直到数字不等于0。
- 现在以相反的顺序打印数组。
执行:
例子
Java
// Java program to convert Decimal Number
// to Hexadecimal Number
// Importing input output classes
import java.io.*;
// Main class
public class GFG {
// Method 1
// To convert decimal to hexadecimal
static void decTohex(int n)
{
// Creating an array to store octal number
int[] hexNum = new int[100];
// counter for hexadecimal number array
int i = 0;
while (n != 0) {
// Storing remainder in hexadecimal array
hexNum[i] = n % 16;
n = n / 16;
i++;
}
// Printing hexadecimal number array
// in the reverse order
for (int j = i - 1; j >= 0; j--) {
if (hexNum[j] > 9)
System.out.print((char)(55 + hexNum[j]));
else
System.out.print(hexNum[j]);
}
}
// Method 2
// Main driver method
public static void main(String[] args)
{
// Custom input decimal number
// to be converted into hexadecimal number
int n = 2545;
// Calling the above Method1 over number 'n'
// to convert this decimal into hexadecimal number
decTohex(n);
}
}
输出
9F1
时间复杂度: O(log N)