PHP位运算以及如何引用外部文件
admin
2023-06-23 06:22:16
0

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

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




相关内容

热门资讯

古巴外长:古美双边谈判没有取得... △古巴外交部长罗德里格斯(资料图)当地时间5月28日,古巴外交部长布鲁诺·罗德里格斯表示,古巴与美国...
伊朗最高领袖强调维护民族团结 伊朗最高领袖穆杰塔巴28日发表书面讲话,强调维护民族团结与社会凝聚力,并呼吁伊朗各界共同维护国家统一...
消息称字节跳动正开发自有CPU... IT之家 5 月 28 日消息,据路透社援引三名知情人士消息称,由于芯片价格持续上涨、供应短缺时间拉...
李咏瑾: “科技的省心”,会不... “科技的省心”会不会日益造就人们“判断的懒惰”? 近日,两条有关“AI成为投诉对象甚至被告”的新闻,...
一卷胶带如何“撕”出诺贝尔奖?... 一层原子厚的材料,能有多神奇?日前,“追星就追科学家”校园公益科普活动邀请上海交通大学物理与天文学院...
广发银行多项成果入选“十四五”... 近日,第八届金融科技创新大会暨CITE2026人工智能与金融数智化创新发展论坛正式发布了“十四五”金...
人工智能如何构建伦理治理体系?... 5月28日,“智能时代的自主知识体系构建暨人工智能伦理与社会实验室建设学术研讨会”在华南师范大学举行...
前5个月地方债发行约4.8万亿 作者 | 第一财经 陈益刊在地方财政收支矛盾较大背景下,为了稳投资、防风险,地方政府靠前发行政府债券...
美军司令叫嚣:韩国是插向中国的... 驻韩美军司令布伦森用他狂妄的臭嘴描述“韩国就像一把指向中国的匕首”,引起轩然大波。布伦森本周二做客美...
凤凰晚报丨美国牡蛎养殖场,走出... 今日人物【美国牡蛎养殖场,走出一位特朗普“平替”】2026年5月,在美国缅因州波特兰举行的一场州民主...