【发布时间】:2018-12-02 01:54:11
【问题描述】:
我了解按位运算符 & 和 | 如何处理二进制数。但是,我对它们如何处理八进制数感到困惑。
系统是否先将数字转换为二进制,然后执行操作,然后再转换回八进制?还是可变的?
例如,如果我执行以下任一操作:
echo decoct( 0400 & 0500 | 0000 );
echo decoct( 0600 & 0500 | 0000 );
我得到400 作为结果。
但是,如果我这样做:
echo decoct( 0400 & 0500 | 0100 );
echo decoct( 0600 & 0500 | 0100 );
在这两种情况下我都会得到500。
另外,我还看到了 PHP 中的按位运算没有使用 decoct 的代码。 PHP 是否在操作完成后将其保留为八进制?或将其转换为十进制(什么时候这样做?)。
请引导我正确地学习和学习理解八进制(以及十进制和其他)按位运算的方向。
【问题讨论】:
标签: php bitwise-operators