`
szzhi
  • 浏览: 79507 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

php位移运算

    博客分类:
  • php
 
阅读更多

<?php

/*
算术右移:低位溢出,符号位不变,并用符号位补溢出的高位;
算术左移:符号位不变,低位补0;
*/

 

$a=1>>2;
$b=-1>>2;
$c=1<<2;
$d=-1<<2;


echo $a . "||" . $b . "||" . $c . "||" . $d;

/**
1的补码
00000000 00000000 00000000 00000001
右移2位
00000000  00000000  00000000  00000000
结果:1>>2=0

-1>>2
-1的原码
10000000 00000000 00000000 00000001
-1的反码
11111111 11111111 11111111 11111110
-1的补码
11111111 11111111 11111111 11111111
右移2位
11111111 11111111 11111111 11111111
补码转反码
11111111 11111111 11111111 11111110
反码转原码
10000000 00000000 00000000 00000001
结果是:-1

1<<2
1的补码
00000000 00000000 00000000 00000001
左移2位
00000000 00000000 00000000 00000100
结果是:4

-1<<2
-1的原码
10000000 00000000 00000000 00000001
-1的反码
11111111 11111111 11111111 11111110
-1的补码
11111111 11111111 11111111 11111111
左移2位
11111111 11111111 11111111 11111100《补码》-1=反码
反码
11111111 11111111 11111111 11111011
原码
10000000 00000000 00000000 00000100

结果是:-4

**/
?>

分享到:
评论

相关推荐

    PHP 使用位运算实现四则运算的代码

    【PHP 使用位运算实现四则运算的代码】 在编程中,位运算是一种高效的数据处理方式,尤其在底层计算和优化中十分常见。PHP作为一种广泛使用的脚本语言,虽然其主要应用在于网页开发,但同样可以利用位运算进行复杂...

    php-使用php开发的cipher加密算法之VignereCipher-加密算法实现.zip

    加密过程通过将明文字母与关键词字母按字母表位移进行加法运算实现,位移的结果是密文字母。在解密时,同样的位移操作但用的是解密过程。 PHP中实现Vignere Cipher的基本步骤如下: 1. **准备关键词**:首先确定一...

    php-leetcode题解之整数反转.zip

    2. 位运算:利用位移和按位异或操作来实现反转。这种方法更高效,时间复杂度为O(1),但需要对位运算有深入理解。首先,通过位移将数字的最高位移动到最低位,然后不断与原数进行异或操作,直到原数变为0。 ```php ...

    PHP程序设计-3期(KC016) 2.5.3位运算符拓展知识.doc

    当位运算符的参数是字符串时,PHP会自动将其转换为对应的ASCII值进行位运算。ASCII码是一种字符编码标准,每个字符都有一个唯一的7位或8位二进制数字代表,这样位运算符就可以用于字符串中的字符处理。 4. **位...

    php 面试 基础类型的

    2. **位移运算符 (`):** 左移运算符,将二进制形式的数向左移动指定位数。例如`$h $c`表示将`$h`的二进制形式左移`$c`位。 3. **运算优先级:** - 乘法和除法高于加法和减法。 - 括号内的表达式先计算。 - 在...

    易语言PHP哈希函数

    3. 位运算:HashPJW算法会用到位移、位与、位或等操作,这些都是易语言中的基本操作符。 4. 循环计算:哈希函数通常包含循环结构,每一轮都会更新哈希值。 5. 结果处理:最后,将计算得到的哈希值转换回十进制或十六...

    PHP实例开发源码—精简高速ip查询PHP版.zip

    - 对于IP范围的判断或分类,可能会用到IP地址的位运算,比如通过位移来确定IP地址在某个范围内。 2. 数据库操作: - 通常,IP查询服务会依赖数据库,如MySQL,存储大量的IP段与对应信息。PHP中,可以使用`mysqli`...

    PHP实例开发源码—IP地址查询程序(QQwry纯真数据库版).zip

    7. **编码与解码技巧**:QQwry数据库中的编码方式可能涉及到位移、异或等操作,这需要对位运算有深入理解。同时,数据可能以GBK编码存储,需要在PHP中正确处理字符编码问题,以防止乱码。 8. **用户体验**:除了...

    PHP根据IP判断城市

    在这个过程中,可能会使用到一些二进制操作,如位移、比较和解码算法。例如,文件可能会先搜索IP地址的起始范围,然后通过相对偏移量找到精确的IP记录。`ip.exe`可能是一个用于验证或测试IP查询功能的工具,它可以...

    PHP程序设计-3期(KC016) 2.5.3位运算符常见问题.docx

    **问题1:位移在PHP中是数学运算** 位移运算符,包括左移()和右移(&gt;&gt;),在PHP中用于改变数字的二进制位。左移运算符将二进制数的所有位向左移动指定的位数,而右移运算符则向右移动。例如,如果`$num = 10`(十...

    PHP实现的ID混淆算法类与用法示例

    本文所述的PHP实现的ID混淆算法类提供了一种数字基于位运算、位移等操作的加密解密相关实现技巧。 首先,我们来详细理解一下文中提及的算法类。ID混淆算法类名为`IdCrypt`,它定义了两个主要方法:`encodeId`和`...

    php的hash算法介绍

    总的来说,PHP的DJBX33A哈希算法是其高效执行的关键之一,通过精心设计的位移和加法运算,以及针对不同长度字符串的处理,确保了哈希表的性能和内存利用率。这种算法不仅在PHP中使用,还在其他多个软件项目中证明了...

    Algorithm-Fuse.zip

    算法的工作原理是建立一个位向量,对应于模式字符串中的每个字符,然后利用位运算来快速检查文本中的字符是否匹配。通过位移操作,算法能够在不回溯的情况下检查多个位置的匹配情况,大大提高了搜索效率。 在PHP中...

    PentagonalSimpleEncryption另一个加密助手

    3. **加密算法设计**:探究如何利用五边形数构建一个简单的加密算法,可能涉及异或操作、位移、模运算等常见的加密技术。 4. **安全编码实践**:理解在PHP开发中如何确保安全编码,如使用预处理语句防止SQL注入,...

    详谈PHP编码转换问题

    接着,对第二位的字节,取出“111101”并与掩码“0x3F”进行与操作,然后通过位移和逻辑运算,合并前两字节的值。最后,对于第三位的字节,直接取出最后六位并与“0x80”进行或操作即可得到最终的Unicode编码。 在...

    php实现俄罗斯乘法实例

    俄罗斯乘法是利用位运算来实现乘法的一种高效算法,其核心思想是通过二进制位移和加法来代替传统的乘法运算。这种方法特别适合于计算机的底层实现,因为它可以减少乘法运算的次数,只涉及到加法和位运算。 二、...

    php 运算符与表达式详细介绍

    6. 位运算符:涉及二进制位的操作,例如“&”(按位与)、“|”(按位或)、“~”(按位非)、“^”(按位异或)、“”(左位移)和“&gt;&gt;”(右位移)。 算术运算符中的取模运算符“%”在PHP中用来计算两个数相除的...

    php生成固定长度纯数字编码的方法

    这里使用到了对数运算来确定循环的次数,以及位移和按位或操作来实现数字的转换。这种转换方式确保了即使id是连续的,生成的编码也不会连续,因为映射数组中数字的顺序是被打乱的。 整个过程中,还可以看到其他一些...

    PHP中使用BigMap实例

    `mask`变量用于限制`$i`的范围在0-31之间,`bitsperword`表示每个“word”(整型变量)包含的位数,`shift`则是计算数组下标时使用的位移量。 例如,如果要存储10000000个元素的状态,每个元素占用一位,那么所需的...

Global site tag (gtag.js) - Google Analytics