一、十进制转十六进制
例题:
输入十进制数:654321
输出十六进制数:9FBF1
解题步骤:
十进制数对16取余,因为最终结果是从下往上依次书写,说以我们可以利用栈的特性,先进
的后出;将余数存入栈中依次弹出,再将弹出的数进行拼接输出即可;
代码如下:
package p2.线性结构;
//十进制 转 十六进制
public class DecToHex {
public static void main(String[] args) {
int num = 654321;
ArrayStack<String> stack = new ArrayStack<>();
while (num != 0) {
int a = num % 16;
if (a < 10) {
stack.push(a + "");
} else {
//10-A 11-B 12-C 13-D 14-E 15-F
// 65 66 67 68 69 70
stack.push((char)(a + 55) + "");
}
num /= 16;
}
StringBuilder sb = new StringBuild