我试图将一个uint16_t
输入转换为uint32_t
比特掩码,其中一个输入位在输出比特掩码中切换两个位。以下是将4位输入转换为8位比特掩码的示例:
Input Output
ABCDb -> AABB CCDDb
A,B,C,D are individual bits
Example outputs:
0000b -> 0000 0000b
0001b -> 0000 0011b
0010b -> 0000 1100b
0011b -> 0000 1111b
....
1100b -> 1111 0000b
1101b -> 1111 0011b
1110b -> 1111 1100b
1111b -> 1111 1111b
有没有一种比较巧妙的方法来实现这种行为?
pdep
? - harold_pdep_u32
内置函数吗? - harold