background image

PHP 教程:int 整型十进制和八进制的区别

发表时间:2011-10-11 内容来源:《第一 php 网》收集整理点击数:1184
近来在网上看到很多 PHP 初学者在询问 php 中 8 进制和 10 进制的问题,利用这个机会
给不懂的人简单介绍一下

数的进制问题并不属于 php 的范围,严格的说它属于数学,而在计算机领域,它属于计
算机系统结构和计算机组成原理所需要讲解的知识。
所谓 8 进制,就是逢 8 进 1 比如
1 2 3 4 5 6 7 10(这里如果按照 10 进制应该是 8,但是由于是 8 进制,所以就向前进
1 位)
而 10 进制则是:
1 2 3 4 5 6 7 8 9 10(可以很明显的看出区别)
因此 8 进制的 10 对应的是 10 进制的 8,那么如何根据 8 进制计算相应的 10 进制呢?
这里就要讲到权的概念,就是指数。我们省略数学证明的过程,直接给出如何
计算。
考虑一个八进制数 017,0 是进制标识我们不管。
这里是一个 2 位的 8 进制数,从低位到高位他的权依次是 0,1;也就是说 1 对应的指数
是 1,7 对应的指数是 0,那么如何计算呢?
017=1*8^1+7*8^0=15,没错 8 进制的 17 对应的就是 10 进制的 15,我们可以枚举
验证:
8

 

进制: 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17

10 进制:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
注意在 8 进制中,数的各位上绝不可能出现大于 8 的数,比如不存在 8 进制数 09,因为
到 8 就进位了。