efficiently store signed integers in varint
store signed integers efficiently, as per protocol-buffers.
For unsigned integers use varint.
Integers are mapped to positive integers, so that positive integers become positive even numbers (n2) and negative integers become positive odd numbers. (n-2 - 1)
This is the same as moving the sign bit from the most significant possition to the least significant. Otherwise, varint will encode negative numbers as large integers.
var varint = require'varint'var svarint = require'signed-varint'console.log'unsigned' varintencode-1console.log'signed' svarintencode-1//=> unsigned [255,255,255, 15]// signed