Back

2.9 八进制数

八进制数字系统由8个数位组成,它们是

$$ 0,~1,~2,~3,~4,~5,~6,~7 $$

要计大于 7 的数,则从另一列重新开始:

$$ 10,~11 ,~12,~13,~14,~15~,16,~17,~20,~21 ,… $$

  • 八进制数字系统的基是 8。

八进制计数和十进制计数比较相似,不同的是没有使用数字 8 和 9。为了区别八进制数和十进制数或者十六进制数,我们使用下标 8 来表示八进制数。例如,八进制 $15_8$ 等于十进制数 $13_{10}$ 和十六进制数D。有时会看到八进制数后面跟随“o”或者“Q”。

2.9.1 八进制数到十进制数的转换

由于八进制数的基是 8,因此每一个相继的数位都是 8 的递增幂,从最右边 $8^0$ 开始, 计算八进制数的相应十进制数的数值,可以通过把每一个数字都乘以其相应的权,并把所得到的积加起来。下面展示了 $2374_8$ 的转换过程。

digtal2.9.1c.png

2.9.2 十进制数到八进制数的转换

把十进制数转换为八进制数的方法,即重复除以 8 的方法,这和十进制数到二进制数或十六进制数的转换方法相似。为了给出这个过程,我们把十进制数 359 转换为八进制数,以 8 为除数的每一次相继相除都会产生一个余数,而这个余数就会成为相应八进制数的数位。所产生的第一个余数是最低有效数(LSD)。 digtal2.9.2.png

2.9.3 八进制数到二进制数的转换

  • ◇ 八进制是表示二进制数的简洁方法,但是并没有十六进制数常用。

因为每一个八进制数位都可以由一个 3 位二进制数来表示,所以八进制数转换为二进制数很容易。每一个八进制数位由 3 位二进制数表示,如表2.4所示。 $$ 表2.4 ~~~8进制/2进制转换 $$

8进制 0 1 2 3 4 5 6 7
2进制 000 001 010 011 100 101 110 111

为了把八进制数转换为二进制数,只要用相应的 3 位二进制数替换每个八进制数位就可以了。这个过程如例2.31所示。

2.9.4 二进制数到八进制数的转换

二进制数到八进制数的转换是八进制数到二进制数的转换的逆过程。如下所述从最右边的 3 位数一组开始,从右向左移动,把每 3 位数一组变换为相应的八进制数。如果最左边的一组没有可用的 3 位数,就加上一个或者两个 0 以形成 3 位一组。前面的 0 不影响二进制数的值。

Licensed under CC BY-NC-SA 4.0