搞计算机的就必须碰2进制和16进制,谁叫计算机只认识 0 和 1 呢。。。。
之前对16进制转2进制的时候一直有点模糊,因为16进制可以一位抵2进制的4位
比如16进制的D8,就是2进制的 1101 1000,那就是D对应于 1101,8 对应于 1000.。。
稍微计算一下就知道,确实是对的,D对应于十进制的13,而13的二进制表示正是1101,为什么会恰好是16进制的一位对应2进制的4位呢?
因为 2^4==16 。仔细思考一下,如果我们把16进制和2进制都换成10进制来处理就清楚很多了,D8是13*16+8*1,即13*2^4+8*2^0,再来仔细看一下,
一个数乘以2的多少次方,就相当于把它右移多少位:
比如5 ,他的2进制表示是0101,如果乘以8,就是0101000,后面加了3个0;
现在再来看16进制,每一位不正是乘了一个2的4次方,相当于右移4位,再加上前面的数吗?
顿时恍然大悟!
The END