#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { uint32_t div=num; int i=0; int arr[16]; uint32_t rem; if(base==2) { do { if((num & 0x1)==1) { arr[i]=1; } else { arr[i]=0; } num=num>>1; i++; }while(num!=0); for(int x=i-1;x>=0;x--) { printf("%d",arr[x]); } } else { while(div!=0) { rem=div%16; div=div/16; num=num|(rem<<4*i); i++; } printf("%X",num); } } int main() { uint16_t num; uint8_t base; scanf("%hu %hhu", &num, &base); print_base(num, base); return 0; }
Test Cases
Test Results
Input
10 2
Expected Output
1010