#include <stdio.h>
#include <stdint.h>
uint8_t rotate_left(uint8_t reg, uint8_t n) {
// Your code here
uint8_t num[8];
uint8_t ret=0;
for(int i=0; i<8; i++) {
num[7-i] = (reg & 1);
reg >>= 1;
}
while(n--){
uint8_t tmp = num[0];
for(int i=0; i<7; i++) {
num[i] = num[i+1];
}
num[7] = tmp;
}
// for(int i=0; i<8; i++) {
// printf("%d ", num[i]);
// }
// printf("\n");
for(int i=0; i<8; i++) {
if(num[i]) {
ret |= (num[i] << (7-i));
}
}
// printf("%d\n", ret);
return ret;
}
int main() {
uint8_t reg, n;
scanf("%hhu %hhu", ®, &n);
printf("%u", rotate_left(reg, n));
return 0;
}
Input
176 1
Expected Output
97