PHP高手进来,求答案

PHP中按位移、按位或、按位异或、按位左移、按位右移、按位取反!!以上都是什么意思啊?详细点解答!!新手... PHP中按位移、按位或、按位异或、按位左移、按位右移、按位取反!!
以上都是什么意思啊?详细点解答!!
新手
展开
 我来答
ptb_youd
2011-01-11 · 超过10用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:26.2万
展开全部
这些都是对二进制数字的运算~
所以按位与
比如二进制数字110,和1101
先把第一个位数和第二位补全,排成这个样子
0110
1101
按位与就是,对应位上的数字全是1,则运算结果的对应位上是1,否则是0
这样运算的结果就是
0100
-----------------------------------------
按位或呢,就是,对应位上的数字有1,则运算结果的对应位上就是1,全是0,结果才是0
那么例子中的运算结果就是
1111
------------------------------------------
按位异或呢,就是对应位的数字相同取1,不同就取0
那么例子中的运算结果就是0100
换个例子,比如101和101,结果就是111
------------------------------------------
按位左移N位,就相当于把一个二进制数字右边补N个0
比如111这个数,左移2位的运算结果就是11100,(是不是看上去就相当于把这个111往左移动了两位?)
-----------------------------------------
右移同理,相当于省略去二进制数字的后N位
比如111这个数,右移2位运算结果就是1
----------------------------------------
按位取反呢,就是一个数,原先是1的,变成0,原先是0的,变成1
比如10110这个数,取反之后就是01001,也就是1001,很好理解吧~
-----------------------------------------
这些二进制的运算就像是十进制运算中的加减乘除(当然有不同的地方),是属于二进制数字的一种~~如果是入门PHP的话,一般很少会接触到的^ ^,如果想深入学,建议看一些算法类的数,里面的一些运算经常要用到二进制的这些运算~

辛苦打的哦~希望对你有帮助~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式