您的位置:首页 > 其它

简单的位运算入门,适合不知道什么是位运算的新手看看!

2013-10-15 13:12 441 查看
1.说起位运算,先复习一下几个位运算符:

 php中有四种运算符,按位与 '&' ,按位或 ‘|’ ,按位异或 '^',按位取反 ‘~’。

  按位与 & :两位全为1,则为1。

  按位或 | :两位中有一个1,就为1。

  按位异或 ^: 两位中一个1,一个0,就为1,否则为0。

  按位取反 ~: 0变1,1变0。

2.说完了四个位运算符,再说说二进制中的几种码,他们分别是 原码,反码,补码。

 对于原码就是他的二进制数,比如十进制数5的原码是:

  00000000 00000000 00000000 00000101

 其他两种码均可由原码推出,具体有这么几条需要说明:

  1.二进制的最高位为符号位,1表示正,0表示负。

  2.正数的原码,反码,补码都一样。

  3.负数的反码等于他的原码符号位不变,其他位取反。

  4.负数的补码等于他的反码+1.

  5.0的反码,补码都是0.

  6.在php中都是有符号的。

  7.计算机在运算的时候都是以补码的形式运算的。

3.简单的例子

  算 13&7=?

13&7=?
-->
  13的原码:00000000 00000000 00000000 00001101

  补码:00000000 00000000 00000000 00001101

  7的原码:00000000 00000000 00000000 00000111

    补码:00000000 00000000 00000000 00000111

所以:

    13&7的补码:00000000 00000000 00000000 00000101 -->5(正数的所有码都一样)

                                                                    2013-10-15
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐