not required of all 16-bit, some 8-bit values are even signed at times.
if there is a value that can go negative and it doesn't have a negative offset in its equation, that is a good indication that it is a signed value. otherwise, you get the whole wraparound issue that happened here. if spark happened 4.9* BTDC, the raw value is 14 (14X.35=4.9). if it happened 4.9*ATDC, the same 14 comes into play, but it is subtracted from 65,535(or 65,536, i can never remember), so 65,535-14 = 65,521.
it's kind of like a compliment situation, except the MSB of the value determines the sign. 0-32,767 is positive and 32,768-65,535 is negative. with 8-bit values, 0-127 is positive and 128-255 is negative.
while the MSB is set(so, things are negative), the scales are reversed(large raw values are actually small real-world values).
it's still kind of confusing to me at times.
Bookmarks