#721. 十进制转十六进制

十进制转十六进制

十进制转十六进制

题目描述

给定一个非负整数 nn,请将其转换为十六进制表示,并输出对应的十六进制字符串。

什么是十六进制?十六进制是一种逢十六进一的计数系统,每一位上的数字可以是 090 \sim 9 或字母 AFA \sim F(其中 A=10,B=11,C=12,D=13,E=14,F=15A=10, B=11, C=12, D=13, E=14, F=15)。例如,十六进制数 (1A)16(1A)_{16} 表示:1×161+10×160=16+10=261 \times 16^1 + 10 \times 16^0 = 16 + 10 = 26。所以十进制数 2626 的十六进制表示为 1A

输入格式

输入一行,包含一个非负整数 nn

输出格式

输出一行,为 nn 的十六进制表示。字母必须使用大写(A~F),字符串不应包含前导零(但数字 00 本身应输出 0)。

样例输入

样例输入 1

26

样例输入 2

0

样例输入 3

255

样例输入 4

4096

样例输出

样例输出 1

1A

样例输出 2

0

样例输出 3

FF

样例输出 4

1000

样例解释

对于第一个样例,输入为 2626。将 2626 转换为十六进制时,2626 除以 1616 得商 11,余数 1010,其中 1010 对应十六进制中的字母 AA;再用商 11 除以 1616,得商 00,余数 11。将得到的余数按从后往前的顺序排列,得到 1A,所以输出 1A

数据范围

0n<2310 \le n < 2^{31},即 nn 在 C/C++ 的 int 类型能表示的非负范围内。