Comment mettre en œuvre un bitset en C?

J'ai été en utilisant le Bitset classe en Java et je voudrais faire quelque chose de similaire en C. je suppose que je dois le faire manuellement comme la plupart des choses dans C. Ce serait une manière efficace de mettre en œuvre?

byte bitset[]

peut-être

bool bitset[]

?

Efficace en termes de mémoire ou le PROCESSEUR?
Je suppose qu'en termes de mémoire, en premier lieu. C'est parce que de peu d'possible la charge de traitement, mais grave, les frais généraux en cas de défauts de cache.
il y a une différence? Si il y a un grand nombre de bits, les performances seront liés par les défauts de cache, de sorte que l'emballage les bits d'aussi près que possible de donner de meilleures performances. Seulement si il y a très peu de bits peut-il être plus efficace d'utiliser un ensemble d'octets (ou plus) par bit.

OriginalL'auteur David Robles | 2010-12-07