#include <stdio.h> #include <stdint.h> uint8_t rotate_left(uint8_t reg, uint8_t n) { int arr[8],num=0; for(int i=0;i<8;i++) { arr[i]=(reg>>i)&1; } while(n) { int temp=arr[7]; for(int i=6;i>=0;i--) { arr[i+1]=arr[i]; } arr[0]=temp; n--; } for(int i=7;i>=0;i--) { if(arr[i]==1) { num |=1<<i; } else { num&=~(1<<i); } } return num; } int main() { uint8_t reg, n; scanf("%hhu %hhu", ®, &n); printf("%u", rotate_left(reg, n)); return 0; }
Test Cases
Test Results
Input
176 1
Expected Output
97