The point of doing zigzag is that it gets around this problem by having numbers with small absolute values be represented as small positive integers: https://developers.google.com/protocol-buffers/docs/encoding#types