定义
16进制,英文名称Hexadecimal(简写Hex), 在数学中是一种逢16进1的进位制。一般用数字0到9和字母A到F(或a~f)表示,其中:A~F表示10~15,这些称作十六进制数字,比如十进制13用16进制表示是D, 28用16进制是1C。
0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16进制在计算机领域应用普遍,常见的有html css 的颜色表、mac地址、 字符编码 等都用16进制来表示。 这是因为将4个位元(Bit)化成单独的16进制数字不太困难。1字节可以表示成2个连续的16进制数字。可是,这种混合表示法容易令人混淆,因此需要一些字首、字尾或下标来显示,在 C语言 、C++、Shell、 python 、 Java 语言及其他相近的语言使用字首“0x”来标示16进制,例如“0x5A3”代表1443。
16 进制转换 10进制
为何“0x5A3”代表1443呢? 怎么算出来的?
16进制数转10进制数的原理: 1000=1X16^3(16的3次方)+0X16^2(16的2次方)+0X16(16的1次方)+0X1(16的 0次方 )=4096。
A = 10, B = 11,,C =12,D=13,E=14,F= 15。
FFF=15*(16^2) + 15*(16^1) + 15*(16^0) = 4095。
10进制转16进制算法
除16取余数得最低1位,然后把商继续除得第2位,直到商等于0
举例:
65036 除 16,余数 12(C),商4064 4064 除 16,余数 0(0),商254 254 除 16,余数 14(E),商15 15除16,余数 15(F),商0,结束 得16进制为 FE0C
最后记住 ,16进制只是一种展示手法,相比 2进制 展示的更短更易换算,就像我们看10进制一样, 计算机底层运行的肯定还是 二进制