two complement adc
Priya,
your value, 0010 0101 1111 1001b = 0x25F9, is a positive value, so you need to scale 0x25F9 in eng units (i.e 25F9(hex) = 9721(dec) and y=9721/x. You know above value is positive because MSB = 0.
Otherwise, if number would be 1101101000000111 = DA07 you recognize this value as negative. Hence, test MSB, if 1 the value is negative. In this case subtract one from DA07. (i.e. 1101101000000111 - 1 = 1101101000000110 = DA06 ). Then invert result. i.e inv (DA06) = 25F9 = 9721 * -1 = -9721. Finally do the scale in eng units.