#include <stdio.h>
#include <stdint.h>
uint8_t rotate_left(uint8_t reg, uint8_t n) {
uint8_t temp = 0;
if(n==1)
{
temp = reg&0x80;
temp = temp>>7;
reg = reg<<n;
reg|=temp;
}
else if(n==2)
{
temp = reg&0xC0;
temp = temp>>6;
reg = reg<<n;
reg|=temp;
}
else if(n==3)
{
temp = reg&0xE0;
temp = temp>>5;
reg = reg<<n;
reg|=temp;
}
else if(n==4)
{
temp = reg&0xF0;
temp = temp>>4;
reg = reg<<n;
reg|=temp;
}
else if(n==5)
{
temp =reg&0xF8;
temp = temp>>3;
reg = reg<<n;
reg|=temp;
}
else if(n==6)
{
temp = reg&0XFC;
temp = temp>>2;
reg = reg<<n;
reg|=temp;
}
else if(n==7)
{
temp = reg&0xFE;
temp = temp>>1;
reg = reg<<n;
reg|=temp;
}
else if(n==8)
{
temp = reg&0xFF;
temp = temp>>0;
reg = reg<<n;
reg|=temp;
}
return reg;
}
int main() {
uint8_t reg, n;
scanf("%hhu %hhu", ®, &n);
printf("%u", rotate_left(reg, n));
return 0;
}
Input
176 1
Expected Output
97