八进制和十六进制都是源于2进制的,其可以非常简单的与二进制互换。
二进制则是因为电子元件的限制,这是技术原因。
直接用二进制表达一个数字,实在是太长,所以人们发明了可以直接与二进制转换的八进制,一位八进制可以映射为三位二进制。
到这里,为什么选用八而不是四已经是非常显然的了,因为人们惯常使用的是十进制,所以八进制是最合适的,既可以使用十进制既有的符号01234567,又尽可能的缩短了二进制表达的长度,还可以非常简单的映射。
既然是为了缩位,为什么不多缩一点呢?既然有10个符号可以用,为什么只用4个而不是8个呢?
至于十六进制的产生,则是因为计算机里面储存数值的位宽一般是2^n,例如一个字节是8bit,8=2^3,如果使用八进制表达一个字节,则两位不够,三位又多了。这时候,十六进制就很有帮助了,一位十六进制可以表示四位二进制,也就是说所有的2^n(n>2)位宽的数(例如8bit、16bit、32bit和64bit),都可以用十六进制完美的表达。