跳到主要内容
uencoder

ZigZag Encode

ZigZag 编码将有符号整数映射为无符号整数(0→0,-1→1,1→2,-2→3…),配合 Varint 紧凑编码。

用途

使小负数在变长编码中与小正数一样紧凑。

机制

公式:n≥0→2n,n<0→2|n|-1。位运算:(n<<1)^(n>>31)。

用例

  • Protobuf sint 编码
  • 紧凑有符号序列化

相关工具

参考链接