我一直在Kochan的书《 Objective-C中的编程》中阅读关于Objective-C的位运算符。我对这部分感到非常困惑,尽管到目前为止我已经真正理解了大多数其他内容。这是这本书的引文:按位与运算符按位与运算通常用于屏蔽操作。也就是说,可以轻松地使用该运算符将数据项的特定位设置为0。例如,语句w3 = w1 & 3;将w1的值与常数3进行按位“与”运算。这具有将w中的所有位(除最右边的两位设置为0之外)并保留w1的最右边两位相同的效果。与C中的所有二进制算术运算符一样,通过添加等号,也可以将二进制位运算符用作赋值运算符。该声明word &= 15;因此执行以下功能:word = word & 15;此外,它还具有将单词的除最右边的四位之外的所有其他位都设置为0的作用。当在执行按位运算时使用常量时,通常更方便地以八进制或十六进制表示法来表示常量。好的,这就是我要了解的内容。现在,我对这整个概念非常困惑,我只是想澄清一点,是否有人愿意在这方面帮助我。当书中现在提到“设置所有位”时,所有位都正确。那不是2进制的0或1,换句话说就是二进制吗?如果是这样,为什么在第一个示例中,除“最右边的2”之外的所有位都都设为0?是2是因为它是3-1,所以我们的常数是3?谢谢!
3 回答
- 3 回答
- 0 关注
- 713 浏览
添加回答
举报
0/150
提交
取消