< Back
十进制与十六进制转换(含小数)
十进制整数转十六进制
用十进制数除以 16 取余数,再用商除以 16 取余数,直到商为 0 或恰好整除。所得余数从后往前对应十六进制数高位至低位。
举例:
13566 转十六进制
1. 13566 / 16 = 847 余 14 (0xE)
2. 846 / 16 = 52 余 15 (0xF)
3. 52 / 16 = 3 余 4 (0x4)
4. 3 / 16 = 0 余 3 (0x3)
Result = 0x34FE
十进制小数转十六进制
将小数部分乘以 16,将得到的整数部分作为十六进制小数的第一位,然后再取之前结果的小数部分重复上一步骤,直到结果没有小数部分。
实际操作中,十进制小数转十六进制很容易出现无限循环小数。
举例:
0.1875 转十六进制
0.1875 * 16 = 3 (0x3)
Result = 0x0.3
十六进制转十进制(含小数)
从低位到高位分别用数位乘以 16 的 n 次方(整数位 n 从 0 开始,小数位 n 从 -1 开始),最后相加得出对应十进制数。
举例:
0xC.3 转十进制
1. C * 16e0 = 12
2. 3 * 16e-1 = 0.1875
3. 12 + 0.1875 = 12.1875
Result = 12.1875