void SetBit(DWORD *pdwrd, DWORD idx) { __asm BTS pdwrd, idx } Utilisation: DWORD cBits = 0; // CHAMP DE 32 BITS SetBit(&cBits, 1); SetBit(&cBits, 3); SetBit(&cBits, 6); SetBit(&cBits, 9);
DWORD dwTab[4] = {1, 3, 6, 9}; DWORD i; DWORD cBits = 0; // CHAMP DE 32 BITS for(i = 0; i < 4; i++) { cBits |= (1 << dwTab[i]); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question#include <stdint.h> #include <stdio.h> int main(){ unsigned int i = 0 | (1 << 1) | (1 << 5) | (1 << 8) | (1 << 10); void print_uint32(uint32_t bits) { uint32_t mask; for (mask = 1<<31; mask; mask >>= 1) { fputc(bits & mask ? '1' : '0', stdout); } } }