它以一種在正整數和負整數之間來回“鋸齒”的方式實現,所以-1編碼爲1,1編碼爲2,-2編碼爲3,依此類推可以在下表中看到:
簽名原件 編碼爲
0 0
-1 1
1 2
-2 3
2147483647 4294967294
-2147483648 4294967295
換句話說,每個值n都使用編碼
(n << 1 )^ (n >> 31 )
對於sint32s,或者
(n << 1 )^ (n >> 63 )
請注意,第二個轉換 - (n >> 31)部分 - 是一個算術轉換。所以,換句話說,移位的結果要麼是全零位(如果n是正數),要麼全是1位(如果n是負數)。
當sint32or sint64被解析時,它的值被解碼回原來的簽名版本。