PHP位运算以及如何引用外部文件
2016-05-19 21:34
369 查看
位运算算法:&
,|, ^,
~, >>, <<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 00000001(1 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
,|, ^,
~, >>, <<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 00000001(1 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
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- php7 读取php.ini[4]
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- 使用位运算实现网页中的过滤、筛选功能实例
- 简单好用的PHP分页类
- ASP.NET、ASP、PHP、JSP之间有什么区别?