Next: , Previous: , Up: Encoding   [Index]


Integers

Integers are encoded as ordinary binary string, that has prepended byte indicating is it positive or negative integer. Negative integers store their absolute value the same way as positive integers. After decoding, their value is subtracted from -1. Negative value encoded as 0x02 means -1 - 0x02 => -3.

Shortest possible form must be used, that means no leading zero byte. 0 and -1 values are empty strings, so even they won’t have leading zero.

Example representations:

00C 80
10C 81 01
100C 81 0A
1000C 01 64
655360C 83 010000
10000000000000C 85 E8D4A51000
184467440737095516150C 88 FFFFFFFFFFFFFFFF
184467440737095516160C 89 010000000000000000
-184467440737095516160D 88 FFFFFFFFFFFFFFFF
-184467440737095516170D 89 010000000000000000
-10D 80
-100D 81 09
-1000D 81 63
-655360D 82 FFFF