十六进制转十进制的核心是按位权展开求和:从右往左标位(0开始),将每位字母A-F转为10-15,再乘以对应16的幂次后累加。
十六进制转十进制,核心就是「按位权展开求和」——把每一位数字乘上它所在位置的16的幂次,再全部加起来。不难,但容易在字母换算或权值顺序上出错。
明确每一位的权值位置从右往左数,最右边是第0位,权值是16⁰=1;往左一位是第1位,权值是16¹=16;再左是第2位,权值是16²=256;依此类推。位数越靠左,幂次越高。
例如十六进制数3B7共3位,从右标位:7→第0位、B→第1位、3→第2位对应权值分别是:16⁰=1、16¹=16、16²=256把字母准确换成十进制数值A~F(大小写均可)不是符号,而是数字10~15的简写:A 或 a → 10 B 或 b → 11 C 或 c → 12 D 或 d → 13 E 或 e → 14 F 或 f → 15数字0~9保持不变。比如2F5A中,F是15,A是10,不能当成字母跳过或误读为1或11。
逐位计算并累加求和对每一位:(转换后的十进制值)×(对应权值),最后把所有结果相加。
以2F5A为例(4位,从右编号0~3):第0位 A → 10 × 16⁰ = 10 × 1 = 10第1位 5 → 5 × 16¹ = 5 × 16 = 80第2位 F → 15 × 16² = 15 × 256 = 3840第3位 2 → 2 × 16³ = 2 × 4096 = 8192总和:10 + 80 + 3840 + 8192 =12122注意:有些资料中该例算成12297,那是把原数误作2F5A的位序标反了(如把A当第3位),务必坚持「从右往左、从0开始」标位。
小技巧帮你少出错写草稿时,先横向列出原数各位,正下方标注位号(0,1,2…),再写下对应权值(1,16,256,4096…),最后填入数值与乘积遇到带前缀的写法(如0x1A3),直接忽略0x,只算后面部分验算可用小数快速比对:FF=255,100=256,这些常见值可作锚点掌握这三步:标位定权、字母转数、乘加求和,十六进制转十进制就稳了。
