什么是十六进制
十六进制是满16进1,由数字0-9和字母A-F表示。
其中A-F代表的数字是
字母 | 代表的数字 |
---|---|
A | 10 |
B | 11 |
C | 12 |
D | 13 |
E | 14 |
F | 15 |
十六进制转十进制
现有一个十六进制数356,我们要将它转换成十进制数
从它的最后一位开始看,来依次乘以16的次方,最后相加
再举个例子,十六进制数2AF,将其转换成十进制数
需要注意A代表的是10,F代表的是15
十进制转换成十六进制
现有一个十进制数423,将它转换为十六进制数:
将它不断除以16 最后将余数从后往前写出来
423÷16=26····7 余数是7
26÷16=1····10 余数是10
如图所示,最后将它们从后往前写出来
但是这里需要注意,十六进制数10-15是分别以A-F来表示的。所以10这里需要被替换成A
所以最后结果是1A7
十六进制转二进制
一个笨办法就是先用上面的方法 把十六进制转成十进制,再把十进制转成二进制。
下面介绍一个快速的方法 将十六进制转换成二进制
我们拿十六进制数9A来做演示
还是把这个数轴画出来
(为什么是8421呢,是2的3次方,2的2次方,2的1次方,2的0次方)
我们把9A 拆开看,9在这个数轴上面能分成几加几呢(从左往右看),当然是8+1
所以在8和1的上面写1,其它位置写0
所以9的二进制数是1001
再来看A,A代表10
10在这个数轴上面能分成8+2,所以在8和2的上面写1,其它位置写0
所以A转换成二进制数就是1010
9A的二进制连起来就是 1001 1010
二进制转十六进制
和十六进制转二进制比较相似 还是画数轴(为什么是8421呢,是2的3次方,2的2次方,2的1次方,2的0次方)
现有一个二进制数1110100110,将起转换为十六进制数
从后往前看,四个一组四个一组,我们会发现少了最前面的时候少了两位,那么就补齐00
然后把数轴画上,我们发现第一组数0011 对应的是2和1 把它们相加
第二组数1010 对应的是8和2 把它们相加
第三组数0110 对应的是4和2 把它们相加
最后得到 3 10 6
但是十六进制数里面的10需要被替换成A
所以最后结果是3A6
一个16进制位=0.5个字节(byte)=4位(bit)
1 条评论
[…] 一个16进制数字等效于一个4位的二进制数字。这就是说,一个32位的地址要用8个十六进制数字来表示。 二进制与十六进制互转参考:https://www.yuofyou.cn/20200906/1260.html […]