ZigZag Encode
La codificación ZigZag mapea un entero con signo a uno sin signo (0→0, -1→1, 1→2, -2→3, ...), y se combina con Varint para una codificación compacta.
Propósito
Hace que los números negativos pequeños sean tan compactos como los positivos pequeños bajo codificación de longitud variable.
Mecanismo
La fórmula: n ≥ 0 → 2n, y n < 0 → 2|n| - 1. En operaciones de bits: (n << 1) ^ (n >> 31).
Casos de uso
- Codificación sint de Protobuf
- Serialización compacta con signo