I am reading a 13 bit signed number out of an ADXL345. It is contained in a high byte and a low byte. I joined the two bytes into a UINT16, but for some reason I can't seem to find a way to get this number converted properly into a INT16.
I was trying the logical shift but that doesn't take care of it. After I shift the number to the left by 3 bits, is there something else I need to use to shift it back but fill in the sign bit? I searched this forum and the internet, but I couldn't seem to find a definite solution that worked.
Thanks for your help.