Tag: bitset

如何在c中进行位设置/字节数组转换

给定一个数组, unsigned char q[32]=”1100111…” , 如何生成一个4字节的位集unsigned char p[4] ,这样,该位集的位等于数组内的值,例如,第一个字节p [0] =“q [ 0] … q [7]“; 第二个字节p [1] =“q [8] … q [15]”等。 以及如何在相反的情况下,即给定位集,生成数组? 我自己的第一部分试用了。 unsigned char p[4]={0}; for (int j=0; j<N; j++) { if (q[j] == '1') { p [j / 8] |= 1 << (7-(j % 8)); } } 以上是对的吗? 有条件要检查吗? 有没有更好的方法? 编辑 […]

Bitwise memmove

实现按位memmove的最佳方法是什么? 该方法应该采用额外的目标和源位偏移,并且计数也应该是位。 我看到ARM提供了一个非标准的_membitmove ,它正是我所需要的,但我找不到它的来源。 Bind的bitset包括isc_bitstring_copy ,但效率不高 我知道C标准库没有提供这样的方法,但我也找不到提供类似方法的任何第三方代码。

如何在C中实现bitset?

我一直在使用Java中的Bitset类,我想在C中做类似的事情。我想我必须手动完成它作为C中的大多数东西。什么是一种有效的实现方法? byte bitset[] 也许 bool bitset[] ?