Casting an `uint32_t` that has the 31st bit set, to `int32_t` does nothing, and casting an `int32_t` to `uint32_t` returns a wrong value.  