八进制
八进制(Octal)是一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。
八进制的数和二进制数可以按位对应,因此八进制广泛应用于计算机系统。
基本信息
- 中文名
八进制
- 外文名
Octal
- 基数
8
- 解释
逢八进一
- 应用领域
计算机1
基本简介
Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。一些编程语言中常常以数字0开始表明该数字是八进制。八进制的数和二进制数可以按位对应(八进制一位对应二进制三位),因此常应用在计算机语言中。
八进制(基数为8)表示法在计算机系统中很常见,因此,我们有时能看到人们使用八进制表示法。由于十六进制一位可以对应4位二进制数字,用十六进制来表示二进制较为方便。因此,八进制的应用不如十六进制。有一些程序设计语言提供了使用八进制符号来表示数字的能力,而且还是有一些比较古老的Unix应用在使用八进制。
计算机需要数制转换,计算机内部使用二进制,二进制八进制十进制之间的数制转换,FORTRAN77 编制, 围绕二进制与小数,完成二进制八进制十进制之间的数制转换。2
历史沿革
有人提出,原始印欧语系“九”这个词可能与派为“新”字。在此基础上,有人猜测,原始印欧语系使用一个八进制数系统。
1668年约翰·威尔金斯的一篇文章中向一个真正的系统和哲学语言提出使用8为基数,而不是10,因为二分法将数字分为两部分是最自然的方式,据此,这个数字能与下一个数值相统一。
1716年瑞典国王查理十二令Swedenborg阐述基数为64而不是10个。然而Swedenborg认为比国王智力较低的人太难理解,因此提出8为基数。1 - 7的数字有什么用辅音字母l,年代,n,m,t,f,u(v)和零的元音o。因此8 =“lo”,16 =“so”,24 =“no”,64 =“loo”,512 =“looo”等数字连续辅音与元音发音之间依照特殊的规则。[5]
1745年7月,休·琼斯提出一个八进制系统为英国硬币,度量衡。而原因是告诉我们一个统一的标准对所有量更加方便;它被称之为格鲁吉亚标准;他将每个整数划分为八个相等的部分,每个部分又分成8个真实或假想的例子。当时所有国家普遍使用基数十(最初双手的数字),然而8是一个更完整的和宽敞的号码;因为它是整除半,季度,半季度(或单位)没有分数,容易细分 ....甚至在后来的论述“八位计算的琼斯(1753)认为:“八进制算术似乎是最称心如意的事情,同时最接近事物的本质,因此可称为最为自然的数,虽然现在反对使用它,几十年后;这可能是受人欢迎的算术。”
1801年,詹姆斯·安德森批评法国公制基于十进制运算。在他的建议下创造了八进制。建议一个纯粹的八进制度量衡制度和观察到的现有系统英语单位已经很大程度上进化为一个八进制系统。
在19世纪中期,阿尔弗雷德·泰勒认为,“如果我们以八基数,那么将超越所有的计数法”因为它是一个最好的算术系统”。“提案包括新的数字的图形符号和新名称的数字”,包括unty,duty,thety,foty,paty,sety,kityandunder等等。例如,数字65十进制(101)在八进制的口语称为under-un。3
在计算机中的应用
八进制广泛应用于计算机系统,如PDP-8,ICL 1900和IBM大型机使用12位、24位或36位。八进制是这些基础,因为他们的最理想的二进制字缩写大小能被3整除(每个八进制数字代表三个二进制数字)。四、八到十二个数字可以简明地显示整个机器。它也降低成本使得数字允许通过数码管,七段显示器,和计算器用于操作员控制台,他们在二进制显示使用过于复杂,然而十进制显示需要复杂的硬件,十六进制显示需要显示更多的数字。
然而,所有现代计算平台使用16 - 32位,或者64位,如果使用64位,将进一步划分为八位字节。这种系统三个八进制数字就能满足每字节需要,与最重要的八进制数字代表两个二进制数字(+ 1为下一个字节,如果有的话)。16位字的八进制表示需要6位数,但最重要的八进制数字代表(通过)只有一个(0或1)。这表示无法提供容易阅读的字节,因为它是在4位八进制数字。
因此,今天十六进制为更常用的编程语言,因为两个十六进制数字完全指定一个字节。一些平台的2的幂,字的大小还有指令更容易理解。现代无处不在的x86体系架构也属于这一类,但八进制很少使用这个架构,尽管某些属性的操作码的二进制编码变得更加显而易见,当显示在八进制时,如ModRM字节,它分为2、3和3位,所以八进制可用于描述这些编码。
八进制有时被用于计算而不是十六进制,也许最常在现代与文件权限下Unix系统。它的优点是不需要任何额外的符号位数(十六进制系统是基数16,因此需要六个附加符号超出0 - 9)。它全部用于数字显示。
在编程语言中,八进制文字通常与不同的前缀,包括数字0,字母o或q,digit-letter 0 o组合,或符号&[11]或美元。在摩托罗拉惯例,八进制数字加@前缀,而小字母o作为后缀添加,在英特尔公约。DR-DOS调试使用前缀编辑八进制数字。
例如,文字73(8进制)可以表示为 073, o73, q73, 0o73, \73, @73, &73, $73 or 73o 在各种语言。