永发信息网

C语言中ADC0CN &= ~0x20这条语句是什么意思?

答案:1  悬赏:50  手机版
解决时间 2021-03-20 03:07
  • 提问者网友:斑駁影
  • 2021-03-19 19:14
C语言中ADC0CN &= ~0x20这条语句是什么意思?
最佳答案
  • 五星知识达人网友:舍身薄凉客
  • 2021-03-19 20:36
首先ADC0CN &= ~0x20是一个复合赋值表达式而不是语句。ADC0CN &= ~0x20;才是语句。
这个表达式等价于ADC0CN = ADC0CN & ~0x20。其中&是位与运算,~是按位取反运算。其中~的优先级最高,~0x20的结果是0xffffffdf,也就是二进制11111111111111111111111111011111(作为对比,0x20等于0x00000020,二进制表示为00000000000000000000000000100000)。&运算的结果是当且仅当两个运算数的对应二进制位为1时才为1,因此~0x20参与运算后只有~0x20中为0的这一个二进制位的对应位置设置为0,其它的合原来的ADC0CN一致。也就是ADC0CN & ~0x20的结果是ADC0CN的第5个二进制位(最低位为第0位)修改为0后得到的值。最后再把这个值赋给原来的ADC0CN。所以整个ADC0CN &= ~0x20的结果是把ADC0CN的第5个二进制位修改为0。
====
[原创回答团]参考资料:原创
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯