PHP基础语法之 位运算

写了几年PHP的人都好奇说,没有用过位运算符。所以,此处你看二进制看的头晕,就去T¥M¥D吧。

位运算符基本不用,我们也将这个知识设置为了解级别。位运算符的知识点,你不想学习也可以。等以后用到位运算的时候,再来学习吧。

知识学习级别【了解级,有印象即可】。

举例说明详细说明
$a & $bAnd(按位与)将把 $a 和 $b 中都为 1 的位设为 1。
$a | $bOr(按位或)将把 $a 和 $b 中任何一个为 1 的位设为 1。
$a ^ $bXor(按位异或)将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。
~ $aNot(按位取反)将 $a 中为 0 的位设为 1,反之亦然。
$a << $b左移将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $b右移将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。

以上的符号,均为二进制的运算。

二进制大家绝大多数情况下不会遇到,遇到了补一下二进制这一块的知识就会了。

<?php
//$x二进制值为:
$x = 5;
//$y二进制值为:
$y = 8;
//结果为13
echo $x ^ $y;
?>
变量二进制值
$x0101
$y1000
异或结果1101

异或解释:如果x,y两个值不相同,则异或结果为1。如果x,y两个值相同,异或结果为0。

由此可推1101为$x和$y异或出来的结果,1101用二进制转10进制工具转换后的结果就为13。
在线二级制转十进截图:

2015-08-02_55bde1c996a04.png

继续学习
||
<?php //$x二进制值为: $x = 5; //$y二进制值为: $y = 8; //结果为13 echo $x ^ $y; ?>
提交重置代码
章节
笔记
提问
课件
反馈
捐赠

php入门教程之一周学会PHP

高并发千万级数据库系统解决方案
  • 推荐课程
  • 评论
  • 问答
  • 笔记
  • 课件下载
洋

5和8这个例子举得不好,容易让不太明白的人误以为这个操作等于相加,实际上将8换成9会发现结果不是相加的结果,初学者需要注意一下。

4年前    添加回复 1

回复
兔子爱吃花菜

兔子爱吃花菜

5的二进制不是1010吗

4年前    添加回复 0

回复
无动于衷

无动于衷

因为程序中的所有数在计算机内存中都是以二进制的形式储存的,二进制只有0和1组成。位运算说穿了,就是直接对整数在内存中的二进制位进行操作,一字节公有8个bit/位,有兴趣的可以了解下。

4年前    添加回复 0

回复
青草地

青草地

越来越觉得php的严谨度就是开玩笑似的。运算符的两边位置变一下,就是可能是完全不同的结果啊!!!

4年前    添加回复 0

回复
有何不可

有何不可

未免太了解级了吧/捂脸,话说转进制都是在线的

4年前    添加回复 0

回复
勾子

勾子

完全不知道干嘛的

5年前    添加回复 0

回复

一般的二进制加减是不是异或运算的结果

[最新 小小卫 的回答]没p豆了实在没办法你问的我也不会望采纳谢谢看视屏没p豆了 麻烦了 谢谢

时间:4年前

位运算的到底要不要深入学习

[最新 代言 的回答]位运算不需要过于深入的学习,因为工作中用到的不是太多。

时间:5年前

挪威的森林

挪威的森林

7-15,进度,1-28,基础语法之位运算

2年前 0

Nanson

Nanson

按位运算:二进制0和1的运算。 按位“与”,相同位置都为1才是1; 按为或,相同位置有1就是1; 按位异或:相同位置不同就是1; 按位左右移:整体向左或右移动。左 右 乘 除。

3年前 0

Вечный миг

Вечный миг

位运算

3年前 0

木子凡

木子凡

$a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 $a | $b Or(按位或) 将把 $a 和 $b 中任何一个为 1 的位设为 1。 $a ^ $b Xor(按位异或) 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 ~ $a Not(按位取反) 将 $a 中为 0 的位设为 1,反之亦然。 $a << $b 左移 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 $a >> $b 右移 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 以上的符号,均为二进制的运算。

3年前 0

No.1

No.1

位运算是二进制

3年前 0

阿大

阿大

异或解释:如果x,y两个值不相同,则异或结果为1。如果x,y两个值相同,异或结果为0。

4年前 0

博龙

博龙

PHP基础语法之 位运算 知识学习级别【了解级,有印象即可】。 举例 说明 详细说明 $a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 $a | $b Or(按位或) 将把 $a 和 $b 中任何一个为 1 的位设为 1。 $a ^ $b Xor(按位异或) 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 ~ $a Not(按位取反) 将 $a 中为 0 的位设为 1,反之亦然。 $a << $b 左移 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 $a >> $b 右移 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 以上的符号,均为二进制的运算。 <?php //$x二进制值为: $x = 5; //$y二进制值为: $y = 8; //结果为13 echo $x ^ $y; ?> $x 0101 $y 1000 异或结果 1101

4年前 0

夜星辰

夜星辰

PHP基础语法之 位运算 知识学习级别【了解级,有印象即可】。 举例 说明 详细说明 $a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。 $a | $b Or(按位或) 将把 $a 和 $b 中任何一个为 1 的位设为 1。 $a ^ $b Xor(按位异或) 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。 ~ $a Not(按位取反) 将 $a 中为 0 的位设为 1,反之亦然。 $a << $b 左移 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。 $a >> $b 右移 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)。 以上的符号,均为二进制的运算。

4年前 0

凉人炎(努力学习)

凉人炎(努力学习)

PHP基础语法之位运算(没学)

5年前 0

phpcn_u1625

phpcn_u1625

了解级,有印象即可

5年前 0

课件暂不提供下载,工作人员正在整理中,后期请多关注该课程~