2
A
回答
19
~()
實際上是兩件事情:
(uint32_t)
是一個演員。~
是一個按位互補運算符。
4
您正在解釋運算符的優先順序錯誤。演員(uint32_t)CST_IEc
先完成,然後~
發生。查看運營商優先級圖表尋求幫助。
4
- 的
(uint32_t)
位是流延到一個無符號整型(32個比特)的, - 的
~
裝置按位不(或補體),所以它逆轉CST_IEc
位已經轉換爲uint32_t
後。
3
(uint32_t)CST_IEc; //casting CST_IEc to uint32_t
~() //taking one's complement
2
不是(uint32_t的)類型轉換?
〜是不是
10
數按位以上括號來clearify評估順序:
(x & (~((uint32_t)CST_IEc)))
首先CST_IEc
被鑄造成一個uint32_t
那麼它是按位與~
否定被逐位通過&
與x
相與前。
3
您需要閱讀的表達略有不同:
(uint32_t)CST_IEc
此值CST_IEc
轉換成一個32位無符號整數。
~(uint32_t)CST_IEc;
~
然後做一個按位反轉的值;每一位變爲零,每一位變爲一位。然後
整個表達的作用:
x & ~(uint32_t)CST_IEc;
這意味着該結果包含在除了由CST_IEc
值所暗示的位x
的比特;那些被歸零。
因此,如果CST_IEc
爲例如0x0F00,並且輸入值x
爲0x12345678,則結果爲0x12345078。
相關問題
- 1. 是什麼意思:是什麼意思?
- 2. ((uint32_t *)arg)是什麼意思? (背景如下)
- 3. %{}是什麼意思?
- 4. '#'是什麼意思?
- 5. 「?」是什麼意思?
- 6. #{...}是什麼意思?
- 7. || =是什麼意思?
- 8. @是什麼意思
- 9. $$ $$是什麼意思?
- 10. `/ * @`是什麼意思?
- 11. 「=」是什麼意思
- 12. + =是什麼意思?
- 13. {..} [..]是什麼意思?
- 14. 什麼是:!:意思?
- 15. @ []是什麼意思?
- 16. 什麼是「||」意思?
- 17. /([^.]*)\.(.*)/是什麼意思?
- 18. &**是什麼意思?
- 19. @(...)是什麼意思?
- 20. &@是什麼意思?
- 21. 「\\。\」,「\ ?? \」,「\\?\」,「\\」是什麼意思?
- 22. &=是什麼意思?
- 23. {%=%}是什麼意思?
- 24. 是什麼意思?
- 25. %%是什麼意思?
- 26. {}是什麼意思?
- 27. 「*&」是什麼意思?
- 28. 「_」是什麼意思?
- 29. Groovy,什麼意思 - >意思是
- 30. 什麼意思前綴::意思是