姬長信(Redy)

c – 将32 0/1值打包到单个32位变量的位中的…


我正在使用x86或x86_64机器.我有一个数组unsigned int a [32]所有元素的值都是0或1.我想设置单个变量unsigned int b,以便(b>> i)& 1 == a [i]将适用于a的所有32个元素.我在Linux上使用GCC(我猜不应该这么做).

在C中执行此操作的最快方法是什么?