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,987 questions

51,931 answers

573 users

How to reverse all the bits in an integer in C++

2 Answers

0 votes
#include <iostream>
#include <bitset>
   
void print_bits(unsigned int n) { 
    std::bitset<32> bits(n);
    std::cout << bits << '\n';
}
   
unsigned int reverse_bits(unsigned int n) { 
    unsigned int total_bits = sizeof(n) * 8; 
    unsigned int reverse_n = 0; 
       
    for (int i = 0; i < total_bits; i++) { 
        if ((n & (1 << i))) 
            reverse_n |= 1 << ((total_bits - 1) - i);   
    } 
    return reverse_n; 
} 
   
   
int main() {
    int n = 13;
  
    print_bits(n);
       
    n = reverse_bits(n);
       
    print_bits(n);
   
    return 0;
}
   
   
   
   
/*
run:
   
00000000000000000000000000001101
10110000000000000000000000000000
   
*/

 



answered Sep 27, 2021 by avibootz
edited Sep 27, 2021 by avibootz
0 votes
#include <iostream>
#include <bitset>
   
void print_bits(unsigned int n) { 
    std::bitset<8> bits(n);
    std::cout << bits << '\n';
}
   
unsigned int reverse_bits(unsigned char n) { 
    n = (n & 0xF0) >> 4 | (n & 0x0F) << 4;
    n = (n & 0xCC) >> 2 | (n & 0x33) << 2;
    n = (n & 0xAA) >> 1 | (n & 0x55) << 1;
    
    return n; 
} 
   
   
int main() {
    int n = 13;
  
    print_bits(n);
       
    n = reverse_bits(n);
       
    print_bits(n);
   
    return 0;
}
   
   
   
   
/*
run:
   
00001101
10110000
   
*/

 



answered Sep 27, 2021 by avibootz

Related questions

1 answer 149 views
1 answer 111 views
111 views asked Aug 10, 2021 by avibootz
2 answers 131 views
1 answer 136 views
1 answer 100 views
100 views asked Dec 13, 2023 by avibootz
1 answer 112 views
...