How to perform binary shift right using bitset in C++

1 Answer

0 votes
#include <bitset>
#include <iostream>
 
int main()
{
    std::bitset<8> b { 0b01101110 };
    std::cout << b << " (first value)\n";
 
    // bitset& operator >>= (std::size_t pos);
    
    for (; b.any(); b >>= 1) {
        while ( !b.test(0)) {
            b >>= 1;
        }
        std::cout << b << '\n';
    }
 
    std::cout << b << " (last value)\n";
}


/*
run:

01101110 (initial value)
00110111
00011011
00001101
00000011
00000001
00000000 (final value)

*/

 



answered Oct 13, 2024 by avibootz
...