get bitshift to wrap c++

#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;
}