PHP位运算以及如何引用外部文件

2023-06-25,,

位运算算法&
,|,  ^, 
~, >>,   <<

1.常量定义:

  写法一:define ("AYX",0.08);

  写法二:const AYX=0.08;

2.函数引

  写法一:require 'function.php';

  写法二:require_once 'function.php';

  写法三:include 'function.php';

  写法四:include_once 'function.php';

  函数名不区分大小写

3.二进制:

   最高位为符号位,正数为0,负数为1

 

   原码:用二进制来表示一个数

   例:0000000 00000000 00000000 000000011  32 4字节)

 

   正数的原码,反码,补码都一样

   负数的反码:原码符号位不变,其他位取反

   负数的补码:反码+1

   0的反码,补码都是0

 

   php中都是有符号数

   计算机运算时,都是以补码形式运算

4.位运算:

 

  按位与:$a & $b

 

  按位或:$a | $b

 

  按位异或:$a ^ $b 不同的位,置1

 

  非:~$a  取反

 

  左移:$a<<$b 

  右移:$a>>$b

  规则:

  算术右移:低位溢出,符号位不变,并用符号位补溢出的高位

  算术左移:符号位不变,低位补

   3*8===3<<3

 

  例子:

  1>>2=?

  1补码:00000000 00000000 00000000 00000001

  1>>2      00000000 00000000 00000000 00000000[补码]->0

 

  例子:

  -1>>2=?

  -1补码:11111111 11111111 11111111 11111111

  -1>>2      11111111 11111111 11111111 11111111[补码]

                  11111111 11111111 11111111 11111110[反码]

                  10000000 00000000 00000000 00000001[原码]->-1

 

  1<<2=?

  1补码:00000000 00000000 00000000 00000001

  1<<2   00000000 00000000 00000000 00000100[补码]->4=1*2*2 每次移动一位,相当于乘以2

 

  例子:

  -1<<2=?

  -1补码:11111111 11111111 11111111 11111111

  -1<<2      11111111 11111111 11111111 11111111[补码]

                  11111111 11111111 11111111 11111110[反码]

                  10000000 00000000 00000000
00000001[
原码]->-1

 

 

  以上的运算,先转为补码进行运算,得到的结果为补码,再转为原码

 

  例子:13&7=?与

  13的补码:00000000 00000000 00000000 00001101

  7的补码:  00000000 00000000 00000000
00000111

  13&7       00000000 00000000
00000000 00000101[
补码]->5

 

  例子:5|4=?或

  5的补码: 00000000 00000000 00000000 00000101

  4的补码: 00000000 00000000 00000000 00000100

  5|4=       00000000 00000000
00000000 00000101[
补码]->5

 

  例子:-3^3=?异或

  -3的原码: 10000000 00000000 00000000 00000011

  -3的反码: 11111111 11111111 11111111 11111100

 

  -3的补码: 11111111 11111111 11111111 11111101

   3的补码: 00000000 00000000 00000000 00000011

 

   -3^3=       11111111 11111111
11111111 11111001[
补码]

 

                    11111111 11111111 11111111 11111000[反码] 补码-1

                   10000000 00000000 00000000
00000111[
原码]->-2


《PHP位运算以及如何引用外部文件.doc》

下载本文的Word格式文档,以方便收藏与打印。