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

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,777 questions

55,543 answers

573 users

How to get the bitwise right-rotation of X by N positions (right circular shift) using bitset in C++

1 Answer

0 votes
#include <bitset>
#include <cstdint>
#include <iostream>

// C++ 20 (and above)
 
int main()
{
    // constexpr T rotr( T x, int s ) noexcept;

    const std::uint8_t i = 0b10011101;
    std::cout << "i          = " << std::bitset<8>(i) << '\n';
    std::cout << "rotr(i, 0) = " << std::bitset<8>(std::rotr(i, 0)) << '\n';
    std::cout << "rotr(i, 1) = " << std::bitset<8>(std::rotr(i, 1)) << '\n';
    std::cout << "rotr(i, 2) = " << std::bitset<8>(std::rotr(i, 2)) << '\n';
    std::cout << "rotr(i, 4) = " << std::bitset<8>(std::rotr(i, 4)) << '\n';
}


/*
run:

i          = 10011101
rotr(i, 0) = 10011101
rotr(i, 1) = 11001110
rotr(i, 2) = 01100111
rotr(i, 4) = 11011001

*/

 



answered Oct 13, 2024 by avibootz

Related questions

1 answer 93 views
1 answer 107 views
1 answer 184 views
184 views asked May 6, 2025 by avibootz
1 answer 211 views
1 answer 177 views
...