返回介绍

3.4.6 位运算

发布于 2025-01-30 22:11:30 字数 1622 浏览 0 评论 0 收藏 0

写了几年 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文