I'm encountering a discrepancy while converting the ASCII value of the character 'c' to hexadecimal. As per my understanding, the ASCII value of 'c' is 99 in decimal and 01100011 in binary. However, when I convert this binary value to hexadecimal, I expected to get 0063, but instead, I'm getting FF63.
You do not convert anything only you see the memory dump. You set te dump to be displayed as 16bits numbers (2 bytes at the time). Your char is at the address 0x3fc and it is only one byte long.
Because the system is using little endian encoding the lower byte is displayed on the right size of the 16 bit number. See the picture below. Only 2 last hex digits of the address displayed in red (two first do not change)