zoukankan      html  css  js  c++  java
  • PHP | 运算符

    概念

    位运算符允许对整型数中指定的位进行求值和操作。

    命令

    例子变量 $a = 1; //8位二进制 0000 0001

    ​ $b = 3; //8位二进制 0000 0011

    命令符号 名称 例子 作用 结果 二进制
    & And(按位与) $a & $b $a与$b中都为1的位,设为1反之则设为0 1 0000 0001
    | Or(按位或) $a | $b $a与$b中任何一个为1的位设为1 3 0000 0011
    ^ Xor(按位异或) $a ^ $b $a与$b中一个为0,一个为1的位,设为1 2 0000 0010
    ~ Not(按位取反) ~ $a 将 $a 中为 0 的位设为 1,反之亦然。 -2 这个单独分析一下
    << shift left(左移) $a << 1 $a往左移一位,也可以理解为每移动一次都乘以2 2 0000 00
    >> shift right(右移) $a >> 1 $a往右移一位,也可以理解为每移动一次都除以2 0 0000 0000

    分析 ~

    首先 1的32位二进制是

    原值 :0000 0000 0000 0000 0000 0000 0000 0001

    取反: 1111 1111 1111 1111 1111 1111 1111 1110

    由于最前面的数为1,符号位为1,即为负数,所以,以其正值的补码形式表示为:(符号位不变,按位取反,末尾加1)

    1000 0000 0000 0000 0000 0000 0000 0001
    这里末尾加1之后是2,所以满2进1,所以变成
    1000 0000 0000 0000 0000 0000 0000 0010
    即输出值为-2

    想生活,不想谋生
  • 相关阅读:
    js联系题目
    js运算符
    太极图
    第一周 Welcome
    对 vscode 自动格式化的结果不太满意,我们该如何自己调整直至自己满意为止
    ASP.NET MVC5.0 OutputCache不起效果
    对照实验(1)-批量清理系统临时文件
    ES6
    19.局部变量和全局变量
    18.函数定义和参数
  • 原文地址:https://www.cnblogs.com/Daneil/p/13607287.html
Copyright © 2011-2022 走看看