php学习笔记位运算

位运算

源码:用二进制表示一个数,这个码就是源码。

比如2====00000000 00000000 0000000 00000010

正数的反码 源码 补码都一样

负数的源码是符号位取反。第一个位 符号位。

负数的反码=它的源码的符号位不变,其他位按位取反,

二进制的最高位是符号位,正数用0表示,负数用1表示。

-1 的源码 1000000  0000000  0000000 0000001

-1的反码 1111111111111111111111111111110

-1的补码 =它的反码加1

-1的反码=111111111 11111111 111111111 111111111

0的反码补码都是0

在计算机的运算中都是以补码的方式运算的,

解释:不管这个数是正数还是负数,都要转成补码进行进算

位运算

Php有四个位运算,按位与(&) 按位或(|) 按位异或(^) 按位取反(·)

按位与  全1 为1

按位或  有1得1

按位异或  两个一个为0,一个为1 结果为1

按位取反 0->1   1->0

移位运算

>>右移运算 低位溢出 符号位不变 用符号位补溢出的 除2

<<左移运算 符号位不变低位补0          乘2 *2的n次方

原文地址:https://www.cnblogs.com/tl542475736/p/yiwei.html