Use int16_t for -X for UInt8

Because -((uint8_t)X) returns positive.