fork download
  1. #include <stdio.h>
  2.  
  3. int main(void) {
  4. int posicao = 6; //posicao do bit (equivale ao 64)
  5. int valor = 0;
  6. valor |= 1 << posicao; //ligando o bit
  7. printf("Ligou o bit: %d\n", valor);
  8. int resultado = (valor >> posicao) & 1; //verificando valor do bit
  9. printf("O bit está: %d\n", resultado);
  10. valor &= ~(1 << posicao); //limpando o bit
  11. printf("Desligou o bit: %d\n", valor);
  12. resultado = (valor >> posicao) & 1; //verificando valor do bit
  13. printf("O bit está: %d\n", resultado);
  14. valor ^= 1 << posicao; //invertendo um bit
  15. printf("Inverteu o bit: %d\n", valor);
  16. valor |= 16; //ligando o bit pelo seu valor
  17. printf("Ligou o 4. bit: %d\n", valor);
  18. }
  19.  
  20. //https://pt.stackoverflow.com/q/175345/101
Success #stdin #stdout 0s 4460KB
stdin
Standard input is empty
stdout
Ligou o bit: 64
O bit está: 1
Desligou o bit: 0
O bit está: 0
Inverteu o bit: 64
Ligou o 4. bit: 80