C uses two's complement for all signed integer types (mandated by C23; universally true in practice before that). [^3] The exact same bit pattern is placed on the wire regardless of sign — the difference is only in interpretation:
| C type | Bits | Wire byte 0xFF |
Wire byte 0x01 |
|---|---|---|---|
uint8_t |
8 | 255 | 1 |
int8_t |
8 | −1 | 1 |