It depends on what you mean by "convert the hex value into binary".
Format specifiers (%d, %x) change how the data is read from a file (or keyboard). They don't change how an unsigned int represents a value. So
Code:
unsigned x,y;
scanf("%u %x", &x, &y);
then, if you input "175 AF", x and y will both receive the same value (175). The difference is in how input data is processed to extract the value. The unsigned type supported by your compiler will represent the value 175 in the same manner, regardless of whether it was read as 175 (using the %u format) or as AF (using the %x format).
If you want to print the binary digits, then you need to compute the value of each digit before outputting it. The usual technique involves determining if the value is odd, and dividing by 2, repeatedly until all binary digits are printed.
But you don't need to do anything to the value read if you use the correct format specifier. That is the purpose of format specifiers .... to map between a value and output (or input) you need.