十六进制自然
扩展前面十进制和二进制自然数的性质,十六进制自然数应该有十六个字符,分别表示0 ~ 15,其中 0 ~9 沿用十进制的字符,10 ~ 15 用英文字符 A ~ F 来表示。它的加法法则是逢十六进一。
十六进制 | 0 | 1 | 2 | 3 |
对应的值 | 0 | 1 | 2 | 3 |
十六进制 | 4 | 5 | 6 | 7 |
对应的值 | 4 | 5 | 6 | 7 |
十六进制 | 8 | 9 | A | B |
对应的值 | 8 | 9 | 10 | 11 |
十六进制 | C | D | E | F |
对应的值 | 12 | 13 | 14 | 15 |
如果我们用 来表示一个16进制数,那么,十六进制可以用如下的办法转化为十进制:
十六进制和二进制自然数互转
十六进制和二进制之间,首先要记住如下表格:
十六进制 | 0 | 1 | 2 | 3 |
二进制 | 0000 | 0001 | 0010 | 0011 |
十六进制 | 4 | 5 | 6 | 7 |
二进制 | 0100 | 0101 | 0110 | 0111 |
十六进制 | 8 | 9 | A | B |
二进制 | 1000 | 1001 | 1010 | 1011 |
十六进制 | C | D | E | F |
二进制 | 1100 | 1101 | 1110 | 1111 |
因为所以十六进制和二进制之间,就是按照上表的对应关系,直接替换即可,比如:
要注意,每1 位十六进制,对应 4 位二进制
反过来也一样:
要注意,每4位二进制,对应1位十六进制,当二进制的位数不是4的整数倍时,高位补0。
十进制转二进制
采用连续除以2取余,先得低位的算法,比如10进制数 20:
20先除以2:
上式的商10,再除以2,余数是二进制的”个位“
上式的商5,再除以2,余数是二进制的”十位“
上式的商2,再除以2,余数是二进制的”百位“
上式的商1,再除以2,余数是二进制的”千位“
上式的商为0,计算完毕,余数是二进制的”万位“
最终:
十进制转十六进制
我一般的算法是,先把十进制转二进制,然后再把二进制转十六进制。
当然也可以:采用连续除以16取余,先得低位的算法,因为用的不多,所以就不细讲了,有兴趣可以参考十进制转二进制。