计算机内部用的是2进制。所有2的幂进制都是可以对应固定的二进制位数的,比如一位4进制数对应2位二进制数,一位8进制数对应3位2进制数,一位16进制数对应4位2进制数。它们与二进制的相互转换也是比价简单的。
非2的幂进制就没有这个好处了,与二进制之间的转换也会很复杂。
使用的更好的进制,是为了表示更短,更紧凑。但是使用的数字也越多。8进制有8个数字,16进制有16个数字。但是键盘的可以使用的符号(数字、字母、符号等)是有限的。
只使用数字符号(10个),最多可以表示8进制。
只使用数字与字母(36个,不区分大小写),最多可以表示32进制。
只使用数字与字母(62个,区分大小写),最多也是可以表示32进制。
但是,当一个数字中有大量字母的时候,对人来说记住字母与数字的对应关系就变成了一件困难的事情。(注意,这些进制都是用于给人阅读与书写的)32进制需要额外记住22个对应关系,是很不方便的。而16进制只需要额外6个对应关系,就比较简单了。
***
在不考虑人的阅读与书写的地方,是有利用更高的进制的,比如 base32 / base64 编码,本质上用的就是 32/64 进制。base64
编码除了使用了所有数字与大小写字母之外,还另外使用了几个其他符号来凑够 64 个数字。