php位运算 与 或 异或 取反

2021-06-30 09:06

阅读:656

标签:代码   注意   负数   符号   5.0   span   其他   取反   一个   

php
/**
php中有4个位运算,分别是&与 |或 ^异或 ~取反
& 两位全为1,结果为1
| 有一位为1,结果为1
^ 一个为0,一个为1,结果为1
~ 取反0->1,1->0

1.二进制的最高位是符号位,0表示正数,1表示负数。
2.正数的原码,反码,补码都一样。
3.负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)。
4.负数的补码=它的反码+1。
5.0的反码,补码都是0.
6.php没有无符号数,换言之,php中的数都是有符号的。
7.在计算机运算的时候,都是以补码的方式来运算的。

**/

 

//异或
echo 13&7;

echo "
"; echo 5|4 ; echo "
"; echo -3^3; //推理过程: /** 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 000000101 =5 -3^3 -3的补码 -3的原码 10000000 00000000 00000000 00000011 -3的反码 11111111 11111111 11111111 11111100 -3的补码 11111111 11111111 11111111 11111101
php位运算 与 或 异或 取反
复制代码
php
/**
php中有4个位运算,分别是&与 |或 ^异或 ~取反
& 两位全为1,结果为1
| 有一位为1,结果为1
^ 一个为0,一个为1,结果为1
~ 取反0->1,1->0

1.二进制的最高位是符号位,0表示正数,1表示负数。
2.正数的原码,反码,补码都一样。
3.负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)。
4.负数的补码=它的反码+1。
5.0的反码,补码都是0.
6.php没有无符号数,换言之,php中的数都是有符号的。
7.在计算机运算的时候,都是以补码的方式来运算的。

**/

 

//异或
echo 13&7;

echo "
"; echo 5|4 ; echo "
"; echo -3^3; //推理过程: /** 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 000000101 =5 -3^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 11111110 《补码》 推反码《对补码-1》 11111111 11111111 11111111 11111101 《反码》 推原码《符号位不变 其他取反》 10000000 00000000 00000000 00000010 《原码》 =-2 注意:因为二进制没有进位和退位,可以看做是10-1,那就等于1了 **/ ?>

 



3的补码 00000000 00000000 00000000 00000011

-3^3     11111111 11111111 11111111 11111110  《补码》
 推反码《对补码-1》
  11111111 11111111 11111111 11111101   《反码》
推原码《符号位不变 其他取反》
  10000000 00000000 00000000 00000010   《原码》  =-2

注意:因为二进制没有进位和退位,可以看做是10-1,那就等于1了

**/
?>

 

php位运算 与 或 异或 取反

标签:代码   注意   负数   符号   5.0   span   其他   取反   一个   

原文地址:http://www.cnblogs.com/archoncap/p/7137013.html


评论


亲,登录后才可以留言!