#include <iostream>
// Function to left circular shift bits of a number
unsigned int leftRotate(unsigned int num, unsigned int shift) {
return (num << shift) | (num >> (sizeof(num)*8 - shift));
}
// Function to right circular shift bits of a number
unsigned int rightRotate(unsigned int num, unsigned int shift) {
return (num >> shift) | (num << (sizeof(num)*8 - shift));
}
int main() {
unsigned int num = 42; // Example number
unsigned int shift = 2; // Example shift value
// Left circular shift
unsigned int leftShifted = leftRotate(num, shift);
// Right circular shift
unsigned int rightShifted = rightRotate(num, shift);
// Display results
std::cout << "Original number: " << num << std::endl;
std::cout << "Left circular shift by " << shift << " bits: " << leftShifted << std::endl;
std::cout << "Right circular shift by " << shift << " bits: " << rightShifted << std::endl;
return 0;
}