0
A
回答
4
所以,這是一個可能的用法是:
ROUND_DOWN(152, 128);
讓我們看看會發生什麼:
~(128 - 1) == ~(127)
== ~(0x7F)
== 0xFFFFFF80
所以,我們似乎被掩蓋了一些低位。
ROUND_DOWN(152, 128) == (152 & 0xFFFFFF80) == 128
ROUND_DOWN(300, 128) == (300 & 0xFFFFFF80) == 256
此外,s
也必須是2的宏並沒有太大的數學意義上,否則電力。
0
分手。 〜表示按位不是因此C = 00001100和〜C = 11110011例如。
&是按位AND因此,您正在計算!((s)-1)和(x)的值。
這當然意味着只有在兩個值都設置了一個位時,結果纔會有一些設置。
例如,保持在低4位,考慮的是X = 15,S = 13
s - 1 = 12 = 0xC - 1100
~(s - 1) = 0011
x & ~(s-1) = 1111 & 0011 = 0011
,另一方面
如果x = 14你會得到1110 & 0011 = 0010
+0
非常感謝! – user3457123
相關問題
- 1. ApplicationContext - 需要說明
- 2. CustomTaskPanes需要說明
- 3. 需要說明,請
- 4. UISwitches,需要說明
- 5. Nodejs - 需要說明
- 6. 需要說明java.lang.ClassNotFoundException:org.springframework.web.context.ContextLoaderListener
- 7. C++宏說明
- 8. 錯誤:需要Lvalue。需要說明
- 9. Java泛型,說明需要
- 10. Makefile麻煩,需要說明
- 11. ePub規範說明需要
- 12. Python類 - 需要說明
- 13. 需要說明的表達
- 14. 需要HTTP連接說明
- 15. 設置SwipeGestureRecognizer,需要說明
- 16. 需要說明此崗位
- 17. 需要ActionListener代碼說明
- 18. 需要說明「jta-data-source」
- 19. R + - 需要的說明
- 20. 需要說明:加密
- 21. MySQL優化需要說明
- 22. Java泛型 - 需要說明
- 23. 需要對GridView.getChildCount()的說明
- 24. 需要Java進口說明
- 25. jQuery.Timeago插件需要說明
- 26. 說明需要組合框
- 27. Android API seekToMillis()需要說明
- 28. 需要Javascript基本說明
- 29. C99枚舉 - 需要說明
- 30. 需要Scikit代碼說明
這是使用一個位掩碼從'x'中剔除較低的'log2(s)'位。 –
我從來沒有見過這個宏,它需要's'是一個二的冪? –
@MooingDuck,是的,'s'需要是'2'的力量才能讓宏理解。 – lurker