定义
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进制一样, 计算机底层运行的肯定还是二进制
,