八进制 Octal ,缩写OCT或O,一种计数法,采用0,1,2,3,4,5,6,7八个数码,逢八进位,并且开头一定要以数字0开头。八进制的数较二进制的数书写方便,常应用在电子计算机的计算中。
八进制(基数为8)表示法在早期的计算机系统中很常见,因此,偶尔我们还能看到人们使用八进制表示法。八进制适用于12位和36位计算机系统(或者其他位数为3的倍数的计算机系统)。但是,对于位数为二的幂(8位,16位,32位与64位计算机系统)的计算机系统来说,八进制就不算很好了。因此,在过去几十年里,八进制渐渐地淡出了。不过,还是有一些程序设计语言提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
八进制逢八进一,基数为八,基本符号:0、1、2、3、4、5、6、7。位权8∧i。表示符号:O
八进制的转换
二进制与八进制的互相转换和二进制与十六进制的转换类似,区别在于需要操作的是三位一组而不是四位。
表2-2列出了二进制与八进制的等效表示。
为了把八进制数换算为二进制,将每一个八进制数字替换成表2-2中对应的三位。
表2-2 二进制/八进制换算表
二进制 |
八进制 |
%000 |
0 |
%001 |
1 |
%010 |
2 |
%011 |
3 |
%100 |
4 |
%101 |
5 |
%110 |
6 |
%111 |
7 | 为了将一个二进制数换算为八进制,只需将二进制串划分成每三个位一组(如果需要的话,在前面补零),然后查表2-2,将三位一组的位串替换为相应的八进制数字即可。
八进制化为十进制
例:将八进制数12.6转换成十进制数
(12.6)8 = 1×8 + 2×8 + 6×8 = (10.75)10
八进制化为二进制
规则:按照顺序,每1位八进制数改写成等值的3位二进制数,次序不变。
例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)2
八进制化为十六进制
先将八进制化为二进制,再将二进制化为十六进制。
例:(712)8 = (111001010)2 = (1CA)16
转换为八进制
二进制化为八进制
整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。
小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。
例:(11001111.01111)2 = (11 001 111.011 110)2 = (317.36)8
十六进制化为八进制
先用1化4方法,将十六进制化为二进制;再用3并1方法,将二进制化为8制。
例: (1CA)16 = (000111001010)2 = (712)8
说明:小数点前的高位零和小数点后的低位零可以去除。
十进制化八进制
方法1:采用除8取余法。
例:将十进制数115转化为八进制数
8| 115…… 3
8| 14 …… 6
8| 1 …… 1
结果:(115)10 = (163)8
方法2:先采用十进制化二进制的方法,再将二进制数化为八进制数
例:(115)10 = (1110011)2 = (163)8
|