黑马程序员技术交流社区

标题: 位运算总结,分享出来 [打印本页]

作者: hui1107464497    时间: 2015-5-26 19:22
标题: 位运算总结,分享出来
a.按位与 “&”

    规则:两个二进制位都是1,那么就给是1,否则结果是0

    作用:可以精确的判对比二进制位,只和1作对比就可以了,可以判断奇偶性(x位与1结果为1,那么x是奇数,结果为0,x是偶数)

    eg.   00101

       10100

       ---------------------

        00100

  b.按位或 “|”

    规则:两个二进制位只要有一个是1,那么结果就是1

    eg. 00101 | 10100  结果是:10101

  c.按位异或 “^”

    规则: 两个二进制位不相同,结果为1,否则结果是0

    结论:相同的两个是异或,结果为0

         异或可以交换 9^5^6=9^6^5

         任何数值跟0异或,结果还是原来的数,9^0=9

    综合应用:a ^ b ^ a=b

    eg.   00101 ^  10100  结果是:10001

  d.按位取反 “~”

    规则:一个二进制位上取反

    eg. ~10100 = 01011

  e.左移  “<<”

    规则:二进制位向左移 n 位,高位舍去,低位0补齐,

    结论:a << n ,结果是a*2的n次方

    作用:用于计算次方,性能比直接循环乘的方式好

  f.右移 “>>”

    规则:符号位不变,其它位向右移,舍去低位,一般用符号位值补齐高位

    结论:a >> n ,结果是:a除以2的n次方
作者: hi虚无缥缈    时间: 2015-5-26 21:22
总结得不错,继续加油。
作者: woaidd99    时间: 2015-5-26 21:32
总结的很好
作者: 碧空海    时间: 2015-5-26 21:35
认识了,,,,,,,,,,,,
作者: huanleabcd    时间: 2015-5-26 21:39
收藏借鉴,一起努力啊。
作者: heyuze    时间: 2015-5-27 09:44
有两个都快忘了的。谢谢楼主总结出来了!:lol
作者: 天是蓝色的    时间: 2015-5-27 22:04
前来学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2