Php 为什么要用八进制/十六进制/二进制而不是标准符号来写?

Php 为什么要用八进制/十六进制/二进制而不是标准符号来写?,php,binary,hex,octal,Php,Binary,Hex,Octal,我正在阅读,其中指定了可以指定使用哪种符号的不同方式。这里有一个文档片段供感兴趣的人参考 <?php $a = 1234; // decimal number $a = -123; // a negative number $a = 0123; // octal number (equivalent to 83 decimal) $a = 0x1A; // hexadecimal number (equivalent to 26 decimal) $a = 0b11111111; // b

我正在阅读,其中指定了可以指定使用哪种符号的不同方式。这里有一个文档片段供感兴趣的人参考

<?php
$a = 1234; // decimal number
$a = -123; // a negative number
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
$a = 0b11111111; // binary number (equivalent to 255 decimal)
?>

然而,在PHP(甚至其他一些编程语言,如果适用的话)中,为什么选择使用八进制、十六进制或二进制表示法而不是标准表示法(以10为基数)来编写代码呢。这难道不是让其他程序员更难读懂这些数字吗


通过使用一种符号而不是另一种符号,在性能方面是否有物理提升?如果以后必须更改符号以供用户阅读,这是否违反直觉?例如,用十六进制记录用户年龄,但用标准格式显示。

在某些情况下,使用特定的符号更容易阅读。例如,如果您使用RGB颜色,您几乎会立即知道
0xFF0000
是红色。用十六进制定义按位操作的常量也更容易:我不必在序列中查找0x10000之后的下一个值,我知道它是0x20000。对于操作系统相关的API,八进制表示法尤其方便(如设置文件访问权限)。出于计算原因,其他符号也有意义。--请详细说明为什么您认为其他程序员会遇到困难?为什么您认为语法选项与性能相关?@Cedroux这是一个有趣的观点。就我个人而言,我一直选择RGB颜色值,因此从未遇到过这样做的必要性,但是,没有te,也许在某些情况下我应该重新考虑。@cmprogram我们不是说5和6,我们说的是2到数十亿的幂。
0x1000000
0x2000000
16777216
33554432
更简单、更清晰。