缩短按位方程

Posted

技术标签:

【中文标题】缩短按位方程【英文标题】:Shortening bitwise equations 【发布时间】:2013-03-14 20:25:33 【问题描述】:

类似于如何缩短正负:

$x = $x + 5;

变成

$x += 5;

你能用位运算符做类似的事情吗?例如,当应用 XOR 时,以下内容是否有效?

$x = $x ^ 1;

变成

$x ^= 1;

已经测试了这个简单的脚本,它似乎可以工作,但是使用它是否正确,还是我在这里偏离了轨道?

【问题讨论】:

@MihaiIorga:这个词是assignment :) 分配..分配:) 如果你要否定这个问题,至少说明原因。 【参考方案1】:

是的,这是正确的。

来自http://www.php.net/manual/en/language.operators.assignment.php(第一条评论)

See the Arithmetic Operators page (http://www.php.net/manual/en/language.operators.arithmetic.php)
Assignment    Same as:
$a += $b      $a = $a + $b    Addition
$a -= $b      $a = $a - $b    Subtraction
$a *= $b      $a = $a * $b    Multiplication
$a /= $b      $a = $a / $b    Division
$a %= $b      $a = $a % $b    Modulus

See the String Operators page(http://www.php.net/manual/en/language.operators.string.php)
$a .= $b      $a = $a . $b       Concatenate

See the Bitwise Operators page (http://www.php.net/manual/en/language.operators.bitwise.php)
$a &= $b      $a = $a & $b     Bitwise And
$a |= $b      $a = $a | $b     Bitwise Or
$a ^= $b      $a = $a ^ $b     Bitwise Xor
$a <<= $b     $a = $a << $b    Left shift
$a >>= $b     $a = $a >> $b    Right shift

【讨论】:

谢谢,这正是我要找的。​​span> 【参考方案2】:

是的,在 this comment on the Assignment Operators page

中提到过
Assignment    Same as:
$a += $b     $a = $a + $b    Addition
$a -= $b     $a = $a - $b     Subtraction
$a *= $b     $a = $a * $b     Multiplication
$a /= $b     $a = $a / $b    Division
$a %= $b     $a = $a % $b    Modulus

See the String Operators page(http://www.php.net/manual/en/language.operators.string.php)
$a .= $b     $a = $a . $b       Concatenate

See the Bitwise Operators page (http://www.php.net/manual/en/language.operators.bitwise.php)
$a &= $b     $a = $a & $b     Bitwise And
$a |= $b     $a = $a | $b      Bitwise Or
$a ^= $b     $a = $a ^ $b       Bitwise Xor
$a <<= $b     $a = $a << $b     Left shift
$a >>= $b     $a = $a >> $b      Right shift

【讨论】:

以上是关于缩短按位方程的主要内容,如果未能解决你的问题,请参考以下文章

辰工科技注水井分层流量调配软件

hdu 5446 lucas+crt+按位乘

差分方程,这个方程是啥意思

69 ----锥面及其方程: 圆锥面的方程一般锥面的方程锥面方程的特点

空间直线的几种方程

微积分——微分方程