for int32 (n << 1) ^ (n >> 31) for int64 (n << 1) ^ (n >> 63) example) Signed Original Encoded As 0 0 -1 1 1 2 -2 3 2147483647 4294967294 -2147483648 4294967295