位运算符

php/c  位运算符列表:

(1)&:  按位与  如果两个相应的二进制位都为1,则该位的结果为1,否则为0.

eg:5 &3 =1   附计算过程: 这里都是转换成二进制计算  5(十进制)---》  00000101     3(十进制) ---》00000011 

00000101        

& 00000011

00000001 (二进制)---  1(十进制)   至于十进制转成2进制    就是 除2 取余  倒序排列   eg:

5  除2   商 2  余数1      在对商进行整除     2 除2  商1 余 0      1除2    商0  余1    所以:                     00000101 (余数倒序排列,没有补0)

00000001(二进制) 转成 十进制  就是  每个位数上的值 乘以 2的第几位的位数减一次方:

eg:   1*2(1-1)+0*2(2-1)+0*2(3-1)+0*2(4-1)......= 1+0+0+0.....=1   所以  5  &  3  =1

(2) |

(3)  <<  左移 

原理:将一个数字(10进制)转换成2进制  向左移动几位 就去掉左边几位的数字,然后在右边补0 

eg:15 左移2  为:60  15(00001111) 左移变为 00111100(60) 

   口诀:高位左移后溢出,舍弃。 但是左移分2种情况

在数字没有溢出的前提下,对于正数负数,左移一位都相当于乘以2的1次方,左移n位就相当于乘以2的n次方。

举个例子:64 左移2位就是 64*4= 256(100000000) 需要舍弃 就是:00000000 这种就是特殊情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值