fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int getIthBit(int n,int i){
  4. int mask=(1<<i);
  5. return (n & mask) > 0 ? 1 : 0 ;
  6. }
  7. void setIthBit(int &n,int i){
  8. int mask=(1<<i);
  9. n=n|mask;
  10. }
  11. void clearIthBit(int &n,int i){
  12. int mask=~(1<<i);
  13. n=n & mask;
  14. }
  15. void updateIthBit(int &n,int i,int v){
  16. int mask=(1<<i),m1=~(1<<i);
  17. (v==0) ? n=n&m1 : n=n|mask ;
  18. }
  19. int clearIBits(int n,int i){
  20. int mask=(-1<<i);
  21. n=n&mask;
  22. return n;
  23. }
  24. int main() {
  25. int n=15,i=2;
  26. // cout<<getIthBit(n,i)<<endl;
  27. // setIthBit(n,i);
  28. // clearIthBit(n,i);
  29. // updateIthBit(n,i,0);
  30. cout<<clearIBits(n,i)<<endl;
  31. return 0;
  32. }
Success #stdin #stdout 0.01s 5440KB
stdin
Standard input is empty
stdout
12