#include <stdio.h>
#include <stdint.h>
void print_base(uint16_t num, uint8_t base) {
bool start = false;
if (base == 2) {
for (int8_t i = 8-1; i >= 0; i--) {
char val = (num & (1 << i)) ? '1' : '0';
if ((val != '0' || i == 0) && start == false) {
start = true;
}
if(start) {
putchar(val);
}
}
}else if (base == 16) {
for (int i = 2 - 1; i>=0; i--) {
uint8_t val = (num >> 4*i) & 0x0F;
putchar((val >= 0 && val <= 9) ? (val + '0') : (val-10 + 'A'));
}
}
}
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