Objective-C位运算符-一次求反运算符

一次求反运算符是一元运算符,它的作用仅是对运算数的位“翻转”。将运算数的每个是1的位翻转为0,而将每个是0的位翻转为1。下面是真值表:

  b1     ~b1
-------------
  0         1
  1         0

如果不知道运算中数值的准确位大小,那么一次求反运算符非常有用,使用它可让程序不会依赖于整数数据类型的特定大小。例如,要将类型为int的w1的最低位设为0,可将一个所有位都是1,但最右边的位是0的int值与w1进行与运算。

w1 &= 0xFFFFFFFE; 用 w1 &= ~1; 替换,那么在任何机器上w1都会同正确的值进行与运算。

这是因为这条语句会对1求反,然后在左侧加入足够的1,以满足int的大小要求(在32位机器上,会在左侧的31个位上加1)。

想了解其他位运算符,请参阅 苹果开发者MikeObjective-C位运算符一览表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值