📄 language.operators.bitwise.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>Bitwise Operators</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="language.operators.assignment.html">Assignment Operators</a></div> <div class="next" style="text-align: right; float: right;"><a href="language.operators.comparison.html">Comparison Operators</a></div> <div class="up"><a href="language.operators.html">Operators</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div id="language.operators.bitwise" class="sect1"> <h2 class="title">Bitwise Operators</h2> <p class="simpara"> Bitwise operators allow you to turn specific bits within an integer on or off. If both the left- and right-hand parameters are strings, the bitwise operator will operate on the characters' ASCII values. </p> <p class="para"> <div class="informalexample"> <div class="example-contents"><div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">12 </span><span style="color: #007700">^ </span><span style="color: #0000BB">9</span><span style="color: #007700">; </span><span style="color: #FF8000">// Outputs '5'<br /><br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"12" </span><span style="color: #007700">^ </span><span style="color: #DD0000">"9"</span><span style="color: #007700">; </span><span style="color: #FF8000">// Outputs the Backspace character (ascii 8)<br /> // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8<br /><br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"hallo" </span><span style="color: #007700">^ </span><span style="color: #DD0000">"hello"</span><span style="color: #007700">; </span><span style="color: #FF8000">// Outputs the ascii values #0 #4 #0 #0 #0<br /> // 'a' ^ 'e' = #4<br /><br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">2 </span><span style="color: #007700">^ </span><span style="color: #DD0000">"3"</span><span style="color: #007700">; </span><span style="color: #FF8000">// Outputs 1<br /> // 2 ^ ((int)"3") == 1<br /><br /></span><span style="color: #007700">echo </span><span style="color: #DD0000">"2" </span><span style="color: #007700">^ </span><span style="color: #0000BB">3</span><span style="color: #007700">; </span><span style="color: #FF8000">// Outputs 1<br /> // ((int)"2") ^ 3 == 1<br /></span><span style="color: #0000BB">?></span></span></code></div> </div> </div> </p> <table border="5"> <caption><b>Bitwise Operators</b></caption> <colgroup> <thead valign="middle"> <tr valign="middle"> <th colspan="1">Example</th> <th colspan="1">Name</th> <th colspan="1">Result</th> </tr> </thead> <tbody valign="middle" class="tbody"> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">$a & $b</td> <td colspan="1" rowspan="1" align="left">And</td> <td colspan="1" rowspan="1" align="left">Bits that are set in both $a and $b are set.</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">$a | $b</td> <td colspan="1" rowspan="1" align="left">Or</td> <td colspan="1" rowspan="1" align="left">Bits that are set in either $a or $b are set.</td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">$a ^ $b</td> <td colspan="1" rowspan="1" align="left">Xor</td> <td colspan="1" rowspan="1" align="left"> Bits that are set in $a or $b but not both are set. </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">~ $a</td> <td colspan="1" rowspan="1" align="left">Not</td> <td colspan="1" rowspan="1" align="left"> Bits that are set in $a are not set, and vice versa. </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">$a << $b</td> <td colspan="1" rowspan="1" align="left">Shift left</td> <td colspan="1" rowspan="1" align="left"> Shift the bits of $a $b steps to the left (each step means "multiply by two") </td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left">$a >> $b</td> <td colspan="1" rowspan="1" align="left">Shift right</td> <td colspan="1" rowspan="1" align="left"> Shift the bits of $a $b steps to the right (each step means "divide by two") </td> </tr> </tbody> </colgroup> </table> <div class="warning"><b class="warning">Warning</b> <p class="para"> Don't right shift for more than 32 bits on 32 bits systems. Don't left shift in case it results to number longer than 32 bits. </p> </div> </div><hr /><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="language.operators.assignment.html">Assignment Operators</a></div> <div class="next" style="text-align: right; float: right;"><a href="language.operators.comparison.html">Comparison Operators</a></div> <div class="up"><a href="language.operators.html">Operators</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -