ZigZag Encode
Die ZigZag-Kodierung bildet eine vorzeichenbehaftete Ganzzahl auf eine vorzeichenlose ab (0→0, -1→1, 1→2, -2→3, ...) und wird mit Varint zu einer kompakten Codierung kombiniert.
Zweck
Macht kleine negative Zahlen unter variabler Längenkodierung genauso kompakt wie kleine positive.
Mechanismus
Die Formel: n ≥ 0 → 2n und n < 0 → 2|n| - 1. In Bitoperationen: (n << 1) ^ (n >> 31).
Anwendungsfälle
- Protobuf-sint-Kodierung
- Kompakte vorzeichenbehaftete Serialisierung