Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,870 questions

51,793 answers

573 users

How to check if all bits of a number are set in C++

2 Answers

0 votes
#include <iostream>

using namespace std;

void print_bits(unsigned int n) { 
    for (int i = 7; i >= 0; i--)
       cout << ((n >> i) & 1);
    cout << endl;
}
 
unsigned int is_all_bits_set(unsigned int n) { 
  return (n + 1) & n;
} 

int main() {
	int n = 15; 
      
    print_bits(n);
    print_bits(n + 1);
    print_bits((n + 1) & n);
    if (is_all_bits_set(n) == 0) {
        cout << "Yes" << endl; 
    }
    else  {
        cout << "No" << endl; 
    }
     
    n = 13;
 
    print_bits(n);
    print_bits(n + 1);
    print_bits((n + 1) & n);
    if (is_all_bits_set(n) == 0) {
        cout << "Yes" << endl; 
    }
    else  {
        cout << "No" << endl; 
    }
    
    return 0;
}


/*
run:

1111
0000
0000
Yes
1101
1110
1100
No

*/

 



answered Mar 7, 2019 by avibootz
edited Mar 9, 2019 by avibootz
0 votes
#include <iostream>
 
using namespace std;
 
void print_bits(unsigned int n) { 
    for (int i = 3; i >= 0; i--)
       printf("%d", (n >> i) & 1);
    printf("\n");
}
  
unsigned int is_all_bits_set(unsigned int n) { 
   while (n > 0) { 
        if ((n & 1) == 0) 
            return 0; 
        n = n >> 1; 
    } 
    return 1;
} 
 
int main() {
    int n = 15; 
       
    print_bits(n);
    if (is_all_bits_set(n) == 0) {
        cout << "Yes" << endl; 
    }
    else  {
        cout << "No" << endl; 
    }
      
    n = 13;
  
    print_bits(n);
    if (is_all_bits_set(n) == 0) {
        cout << "Yes" << endl; 
    }
    else  {
        cout << "No" << endl; 
    }
     
    return 0;
}
 
 
/*
run:
 
1111
No
1101
Yes
 
*/

 



answered Mar 7, 2019 by avibootz
edited Mar 7, 2019 by avibootz

Related questions

2 answers 160 views
1 answer 103 views
1 answer 96 views
1 answer 178 views
2 answers 178 views
2 answers 189 views
2 answers 155 views
...