#include <stdio.h>
#include <stdint.h>
void print_hex(uint16_t num) {
// Your logic here
if(num == 0){
printf("0");
return;
}
uint16_t mask = 0xF000;
int counter = 0;
while((mask&num) == 0){
mask = mask >> 4;
counter ++;
}
for(int i = counter; i<4; i++){
uint16_t val = mask & num;
val = val >>( 3-counter)*4;
if(val <= 9){
printf("%d", val);
}else{
// printf("val: %d\n", val);
printf("%c", ('A'+(val-10)));
}
mask = mask >> 4;
counter++;
}
}
int main() {
uint16_t num;
scanf("%hu", &num);
print_hex(num);
return 0;
}
Input
255
Expected Output
FF