簡體   English   中英

這個C代碼試圖做什么

[英]What does this c code trying to do

以下c代碼試圖做什么? 我不確定它是如何計算width的值

(width+31)&~31

謝謝。

它四舍五入到32的下一個倍數。它只能工作,因為32是2的冪。

The bit pattern for  31 is ...000000000011111
The bit pattern for ~31 is ...111111111100000

當您用任意正整數與〜31時,您將獲得32的倍數(五個低階位均為零)。

它將width向上舍入為32的倍數。

它重置(關閉)“寬度”的最后5位,這導致width%32 = 0,即32的寬度倍數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM