J'ai besoin d'utiliser des drapeaux de plus de 32 bits (33 pour être exact maintenant). J'ai essayé et trouvé que std :: bitset ne gère pas plus de 32 bits (ulong). Dois-je utiliser un vecteur ou existe-t-il un moyen de faire fonctionner le bitet?bitset pour plus de 32 bits?
Je suis limité à C++ 98 dans ce projet, donc je ne peux pas utiliser boost.
Merci.
Edit:
Je voudrais faire quelque chose comme ceci:
const uint64 kBigNumber = 1LL << 33;
std::bitset<33> myBitSet;
...
switch(myBitSet) {
case kBigNumber:
// do something
...
}
Vous devrez probablement effectuer plusieurs opérations de bits sur des valeurs 32 bits individuelles? – Gian
En fait, j'aimerais pouvoir effectuer des opérations au niveau du bit entre les bitsets et les constantes 64 bits. Quelque chose comme si (my33bitset & kA64bitConst) {...}. De plus, la possibilité d'utiliser les consts de 64 bits dans la clause case de l'instruction switch sera excellente. –
Comment pourriez-vous être limité à C++ 98? – Puppy