public void WriteLong(Stream Stream, long datum) { ulong n = Util.Zig(datum);// move sign to low-order bit while ((n & ~0x7FUL) != 0) { write(Stream, (byte)((n & 0x7f) | 0x80)); n >>= 7; } write(Stream, (byte)n); }