#include <stdio.h>
#include <stdint.h>
void print_hex(uint16_t num) {
// Your logic here
char str[4];
int count=0;
if(num == 0)
printf("0");
for(int i=0;(num >> 4*i)>0;i++){
if(((num >> 4*i) & 0xF) >= 0 && ((num >> 4*i) & 0xF) <= 9){
str[i] = ((num >> 4*i) & 0xF) + '0';
count++;
}
else if(((num >> 4*i) & 0xF) >= 10 && ((num >> 4*i) & 0xF) <= 15){
str[i] = ((num >> 4*i) & 0xF) + 'A' - 10;
count++;
}
}
for(int j=0;j<count;j++){
printf("%c", str[count-j-1]);
}
}
int main() {
uint16_t num;
scanf("%hu", &num);
print_hex(num);
return 0;
}
Input
255
Expected Output
FF