Rotate Left in an 8-bit Register

Code

#include <stdio.h>
#include <stdint.h>

uint8_t rotate_left_8(uint8_t reg, uint8_t n)
{
    n = n % 8;
    return (uint8_t)((reg << n) | (reg >> (8 - n)));
}

int main()
{
    unsigned int reg;
    unsigned int n;

    scanf("%u %u", &reg, &n);

    uint8_t result = rotate_left_8((uint8_t)reg, (uint8_t)n);

    printf("%u", result);

    return 0;
}

Solving Approach

 

 

 

Upvote
Downvote
Loading...

Input

176 1

Expected Output

97