-5
A
回答
1
該代碼隔離下面箭頭所示的兩位,並將它們移動到兩個最低有效位位置。
vv
11111111111111111111111111111111 original value
vv
00000000000000000011111111111111 after >>18 (shift right 18 positions)
vv
00000000000000000000000000000011 after & 3 (mask out all but the 0th and 1st bits)
這假定一個無符號的值,並且在移位期間沒有對符號位的特殊處理。 &(AND)是一個掩碼操作,因爲結果在任何位置都爲1,值和掩碼都必須爲1(即1 AND 1 = 1,其他都爲0.因此,只有掩碼中的位你的情況×03)可以結束了0以外的任何東西,他們只會爲1,如果他們的價值被掩蓋分別爲1。
0
是位右移操作。
如果PCLKSEL1具有二進制值「ABCDEFGHIJK101abcdefghijklmnpqrs」,其中(AP和as分別爲0或1),PCLKSEL1 >> 18將變爲「00000000000000 0000ABCDEFGHIJK101" 。
&是按位AND運算符。 (X & Y)的結果的第n位爲與X和Y的第n位的第n位的
如果PCLKSEL1具有二進制值「ABCDEFGHIJK101abcdefghijklmnpqrs」,(PCLKSEL1 >> 18) & 0x03將變成'00000000000000000000000000000101'
在其他字中,(PCLKSEL1 >> 18)& 0x03是用於從最左側提取第12到第14位的操作。
相關問題
- 1. 定義布爾邏輯運算符(V,^,異或, - >,<->)
- 2. Javascript persistence>邏輯
- 3. 邏輯運算
- 4. Pascal中邏輯運算符(< > =等)的語句聲明
- 5. 墊(邏輯)運算符「> =」中的OpenCV 2.3
- 6. 如何簡化PHP邏輯運算符?
- 7. 2列的邏輯運算(邏輯或)
- 8. 邏輯運算符
- 9. 邏輯&&運算符
- 10. 邏輯運算符||
- 11. 邏輯運算符
- 12. OCaml的satisfable邏輯運算
- 13. 運算符>>和運算符>>>在java中有什麼區別?
- 14. Haskell(>>)運算符
- 15. 使用運算符>>
- 16. 「>>>」運算符 - 用於什麼?
- 17. >>>運算符在python中
- 18. 邏輯運算符Objective-C
- 19. Java邏輯運算符
- 20. Lua - 按位邏輯運算
- 21. 邏輯比較運算符
- 22. C++邏輯運算符Q
- 23. 邏輯與運算符與
- 24. C++邏輯與運算
- 25. 邏輯AND運算符
- 26. 長熊貓邏輯運算
- 27. AVR彙編邏輯運算
- 28. Spring SpEL邏輯運算符
- 29. 簡單,簡短,邏輯算法(哪個方向去?)
- 30. HTML >>很簡單的問題