#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;
}
Input
10 2
Expected Output
1010