PHP的位运算 php 位运算 权限

位运算??? (http://club.21php.com/showthread.php?t=5386)

zww232004年06月19日 10:32 AM

位运算???

<?php

echo "位运算符的例子!<br>n";

$a=5; //用二进制表示a=101;

$b=2; //用二进制表示b=010;

$c=$a&$b; //与运算

echo "a & b=".$c." (101 & 010)<br>n";

$c=$a|$b; //或运算

echo "a | b=".$c." (101 | 010)<br>n";

$c=~$a; //非运算〖〗

echo "~a=".$c." (~101)<br>n";

$c=$a^$b; //异或运算

echo "a ^ b=".$c." (101 ^ 010)<br>n";

$c=$a<<$b; //向左移位运算

echo "a << b=".$c." (101 << 010)<br>n";

$c=$a>>$b; //向右移位运算

echo "a >> b=".$c." (101 >> 010)";

php?>

运算结果是

位运算符的例子!

a & b = 0 (101 & 010)

a | b = 7 (101 | 010)

~a = -6 (~101)

a ^ b = 7 (101 ^ 010)

a << b = 20 (101 << 010)

PHP的位运算 php 位运算 权限
a >> b = 1 (101 >> 010)

我想知道~a = -6 (~101) ,a << b = 20 (101 << 010)和a >> b = 1 (101 >> 010)的运算结果是怎样得出来的?

Cplus2004年06月19日 07:41 PM

~0=-1;~1=-2......~5=-6 就这样记下吧

101<<010 表示把101右移010(2)位,于是就成了10100=20

101>>010 表示把101左移010(2)位,于是就成了1=1。

Sorehead2004年06月20日 05:12 PM

做位运算不能只孤立的将要运算的数字的位数加以考虑,而必须从PHP是如何保存整型的,从PHP保存整型的字长整体来考虑。举例:像上面的a和b之间的运算,就不能只拿前三位来计算,虽然他们用三位就可以表示了。

PHP 不支持无符号整数,其整型数的字长和平台有关,一般是采用32 位来表示。注意这里提供的信息:

采用32位表示,即表示即使是存储0,也是采用32位,其二进制形式是:

0000 0000 0000 0000 0000 0000 0000 0001

不支持无符号,即表示这32位的最高位为符号位,0表示整数,1表示负数。

因此,做a & b的运算是如下:

0000 0000 0000 0000 0000 0000 0000 0101

&

0000 0000 0000 0000 0000 0000 0000 0010

结果:

0000 0000 0000 0000 0000 0000 0000 0000

至于~a运算如下:

0000 0000 0000 0000 0000 0000 0000 0101

结果:

1111 1111 1111 1111 1111 1111 1111 1010

由于最高位为1,所以表示这是一个负数。负数的采用的编码方式和正数是不一样的,一般都采用补码的方式来存储负数,补码的计算方式就是反码加一。至于反码,就是全部位取反。

因此,1111 1111 1111 1111 1111 1111 1111 1010的反码就是:

0000 0000 0000 0000 0000 0000 0000 0101

做加一操作,得到:

0000 0000 0000 0000 0000 0000 0000 0110

最终结果就是-6。

zww232004年06月21日 02:29 PM

感谢您们的详细解答,我已经明白了,谢谢!!!!!

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/71597.html

更多阅读

如何访问别人的QQ空间 qq空间有权限怎么进

如何访问别人的QQ空间——简介 有的时候我们需要访问别人的QQ空间,这里有很多种方法可以做到,希望大家能够看一看,具体操作方法在下面。如何访问别人的QQ空间——方法/步骤如何访问别人的QQ空间 1、

PHP的位运算 php 位运算 权限

位运算??? (http://club.21php.com/showthread.php?t=5386)zww232004年06月19日 10:32 AM位运算???<?phpecho "位运算符的例子!<br>";$a=5; //用二进制表示a=101;$b=2; //用二进制表示b=010;$c=$a&amp;$b

风水专家教你如何寻找孩子的文昌位转载 风水调理催文昌

1、八宅文昌位八宅文昌位即是文昌星飞临入宅的方位,这个方位在每套住宅里都存在,只要是书房或书桌或文昌风水用品设于此位,对于读书、功名、事业等均会有所裨益。如果由于房子的先天结构问题,文昌位不能做书房,则只能退而求其次,将书桌的

支撑位和阻力位 支撑位和阻力位的定义

一般定义:支撑位是指在股价下跌时可能遇到支撑,从而止跌回稳的价位;阻力位则是指在股价上升中可能遇到压力,从而反跌的位。特别注释:在股价运行时,阻力与支撑是可以随着市场的强弱互换的。具体地说,如果重大的阻力位被有效突破,那么该阻力位

声明:《PHP的位运算 php 位运算 权限》为网友弥猫深巷分享!如侵犯到您的合法权益请联系我们删除