一沙一世 发表于 2024-11-15 11:32

( M0P_RTC->CR0 & 0x7faf ) !=0x4188 与( M0P_RTC->CR0 & 0x4188 ) !=0x4188的区别 

<p>if&nbsp; (&nbsp; &nbsp;( M0P_RTC-&gt;CR0 &amp; <span style="color:#2ecc71;">0x7faf </span>) !=0x4188&nbsp; ) 中为什么不写成&nbsp;</p>

<p>if&nbsp; (&nbsp; &nbsp;( M0P_RTC-&gt;CR0 &amp; <span style="color:#e74c3c;">0x4188</span>&nbsp;) !=0x4188&nbsp; )</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

damiaa 发表于 2024-11-15 11:43

<p><span style="color:#2ecc71;">0x7faf&nbsp; </span>==》0111 1111 1010 1111</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | | | | | | |&nbsp; |&nbsp; | &nbsp; &nbsp; | | | |&nbsp;&nbsp; 要判断的位</p>

<p>0x4188=》&nbsp; 0100 0001 1000 1000</p>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; | &nbsp; &nbsp; &nbsp;&nbsp; |&nbsp;&nbsp;&nbsp;&nbsp; 要判断的位</p>

<p>要判断的位不同 也就是M0P_RTC-&gt;CR0&nbsp; 有这些位需要判断</p>

<p>&nbsp;</p>

<p>上面要判断的位多些,所有位和上面的结果有关系</p>

<p>后面的少些。 多出来的不要判断的位与结果没关系。</p>

<p>&nbsp;</p>

一沙一世 发表于 2024-11-15 14:17

damiaa 发表于 2024-11-15 11:43
0x7faf&nbsp; ==》0111 1111 1010 1111

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...

<p>谢谢。请问:他是不是不只要判断数值为1的是否为1,还想判断数值为0的是否当前数值为0呢,要不&nbsp; 4188中的0位,他&amp;1 是什么意图呢?</p>

damiaa 发表于 2024-11-17 20:35

<p>&amp;0x01 只判断最低1位 &amp;0x2判断次低位&nbsp; &amp;0x03判断低2位。。。</p>

<p>&nbsp;</p>

ljg2np 发表于 2024-11-19 11:12

<p>与门可以这样解释,对于关心的指标,你必须达到才能通过,对于不关心的指标,不管你水平如何,都不允许通过。</p>

freebsder 发表于 2024-11-19 14:20

<p>0x7faf 可能是某些宏段组合成的,只是显示的时候被直接替换了,表示这个寄存器的某些段位,用宏来做比较具备扩展性。等号右边的 0x4188&nbsp; 也可能是某些位的宏组合。</p>

<p>某个意义上两个表达式没什么实质区别。</p>
页: [1]
查看完整版本: ( M0P_RTC->CR0 & 0x7faf ) !=0x4188 与( M0P_RTC->CR0 & 0x4188 ) !=0x4188的区别