八进制和十六进制

虽然二进制数在表示计算机内部电信号时非常直观。但对我们人来说,当 0 和 1 的二进制数位数增加时,就很容易看错数值。

为了弥补这个缺点,并且使所表示的数值变得更容易让人接受和识别,从而在计算机编程过程中引入了八进制数和十六进制数。

八进制数中,只用 0~7 这几个数字符号表示数据,每一位上的数只要满8就要向高位进一位(逢八进一),而十六进制数则是每一位上的数满 16 进一位(逢十六进一)。十六进制数中即使一位的值达到 10~15 也不会向高位进位,而此时 10~15 的两位十进制数字是写不进一位的,因此需要用单一符号来表示 10~15 。于是规定用英文字母 A、B、C、D、E 和 F 分别表示 10、11、12、13、14 和 15 六个数字。

不同计数法中组成各位数值的符号如表 1 所示。

表 1:不同计数法中组成各位数值的符号
计数法 组成各位数值的符号
二进制 0,1
八进制 0,1,2,3,4,5,6,7
十进制 0,1,2,3,4,5,6,7,8,9
十六进制 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

例如,表 2 中的两个二进制数就不容易区分,相比之下,八进制和十六进制的数值位数减少很多,也更加容易读取和区分。

表 2:用八进制、十六进制、十进制表示数更易识别
二进制 八进制 十六进制 十进制
1011111101110001 137561 BF71 49009
1011111101100001 137541 BF61 48993

总结

  1. 在二进制中,各位上的数只要满 2 就要向高位进一位(逢二进一)。
  2. 在八进制中,各位上的数只要满 8 就要向高位进一位(逢八进一)。
  3. 在十六进制中,各位上的数只要满 16 就要向高位进一位(逢十六进一)。