#include <stdio.h> #include <stdint.h> void print_base(uint16_t num, uint8_t base) { int n=16,res=0; for(int i=n-1;i>=0;i--) res= (res*10)+((num>>i)&1); if(base==2){ printf("%d",res); } else{ for (int i = 12; i >= 0; i -= 4) { int a = (num >> i) & 0xF; if (a==0) continue; else if (a < 10) printf("%d", a); else printf("%c", 'A' + (a - 10)); } } } 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