我想創建一個掩碼設置位,用於第一n
半字節, 這些半字節,其中n <=8
和m <=4
的第一m
位。創建一個32位的最有效的方法的位掩碼
通過高效,我的意思是一種最小化按位操作的方式。
目前我使用暴力破解的方法:首先創建一個nybble mask,然後左移mask,並將這些數字ORing在一起。
這裏是我當前的方法:
#define NIBBLE ((unsigned int)0xF >> m))
#define MASK ((NIBBLE | (NIBBLE << 4) | (NIBBLE << (8)) | (NIBBLE << (12)) | (NIBBLE << (16)) | (NIBBLE << (20)) | (NIBBLE << (24)) | (NIBBLE << (28))) >> (n*4))
請包括一些例子,你嘗試至今。 –
4次8只是32.這是一個很小的查找表。 – shawnt00
或32#定義? – shawnt00