Does this sentence mean that no one considered this encoding of integers (in a verifiable way) before the standard MIDI file format was defined in the early 198
| This article has not yet been rated on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||
| ||||||||||||||||||
| On 21 July 2026, it was proposed that this article be moved from Variable-length quantity to Variable-length integer. The result of the discussion was moved. |
Does this sentence mean that no one considered this encoding of integers (in a verifiable way) before the standard MIDI file format was defined in the early 1980s? If so, I am very surprised. --fcp2007 (talk) 21:06, 13 July 2008 (UTC)
This page should probably be titled "base-128 encoding" or similar, and more generally describe all variations on the theme. (1 or 0 as stop bit, most significant bit group first or last significant, comparison to UTF-8 etc.) —Preceding unsigned comment added by 213.136.42.60 (talk) 13:49, 18 November 2010 (UTC)
Another option is to encode the length n with VLQ and then interpret the following n bytes as a number.
Space usage:
Solomon Ucko (talk) 21:59, 4 February 2019 (UTC)
There are countless examples of this format throughout various projects, which should be added to the main article, and related articles linking back somehow:
There is currently a template-tag to move LEB128 to this page, but I think this page should be moved to LEB128. Andyjrobb (talk) 22:35, 19 June 2019 (UTC)
LEB128 uses two's complement to represent signed numbers. In this scheme of representation, n bits encodes a range from -2n to 2n-1. I guess it should be -2n - 1 to 2n - 1-1. 178.64.56.11 (talk) 01:20, 24 September 2021 (UTC)
I think that the table (Variable-length quantity#Examples) needs a review. There appear to be many errors in it (such as 7 digit bytes in the row for 134217728, and a "4" in the varint binary representation of 8192).
I've written a script from first principles to generate what I believe to be the correct values, please see the output below.
| 1 Integer (decimal) | 2 Integer (hexadecimal) | 3 Integer (binary) | 4 Variable-length quantity (hexadecimal) | 5 Variable-length quantity (binary) |
|---|---|---|---|---|
0 | 0x00000000 | 00000000 | 0x00 | 00000000 |
127 | 0x0000007F | 01111111 | 0x7F | 01111111 |
128 | 0x00000080 | 10000000 | 0x81 0x00 | 10000001 00000000 |
8192 | 0x00002000 | 00100000 00000000 | 0xC0 0x00 | 11000000 00000000 |
16383 | 0x00003FFF | 00111111 11111111 | 0xFF 0x7F | 11111111 01111111 |
16384 | 0x00004000 | 01000000 00000000 | 0x81 0x80 0x00 | 10000001 10000000 00000000 |
2097151 | 0x001FFFFF | 00011111 11111111 11111111 | 0xFF 0xFF 0x7F | 11111111 11111111 01111111 |
2097152 | 0x00200000 | 00100000 00000000 00000000 | 0x81 0x80 0x80 0x00 | 10000001 10000000 10000000 00000000 |
134217728 | 0x08000000 | 00001000 00000000 00000000 00000000 | 0xC0 0x80 0x80 0x00 | 11000000 10000000 10000000 00000000 |
268435455 | 0x0FFFFFFF | 00001111 11111111 11111111 11111111 | 0xFF 0xFF 0xFF 0x7F | 11111111 11111111 11111111 01111111 |
JSFiddle with the source that generated it: https://jsfiddle.net/w6jL5qy3/
Additionally, I don't see the value in including the two Hexadecimal columns - its just confusing and detracts from the example. -Chieftain Alex 20:15, 18 April 2023 (UTC)
The result of the move request was: moved. Moved as an uncontested request with minimal participation. If there is any objection within a reasonable time frame, please ask me to reopen the discussion; if I am not available, please ask at the technical requests page. (closed by non-admin page mover) Jeffrey34555 (talk) 05:50, 2 August 2026 (UTC)
Variable-length quantity → Variable-length integer – This term is practically only used in the MIDI standard, with most other uses I can find (even quite a few on Google Scholar) just being citations to this Wikipedia page. This page was originally written as being only about the MIDI standard.
The term "variable-length integer" (alternatively "varint") is far more common, including on Google Scholar, is used by far more projects, and is more descriptive. Marboxil (talk) 13:45, 21 July 2026 (UTC) — Relisting. 1isall (talk | contribs) 14:44, 28 July 2026 (UTC)
Replying to User:BarrelProof, thank you for the intro improvement, yes I agree it should only be about encodings using a series of bytes, what I meant was that the article contained a somewhat inconsistent mix of MIDI-specific content and content about other varint encodings and that the article might be in need of a rewrite to cover them generically.
They do most seem to be base-128, but there are some like the QUIC standard which defines a "variable-length integer" encoding [1] that is not (encodes the length in the first two bits).
Above it was suggested that LEB128 might be merged into this article, which seems sensible to me. Marboxil (talk) 16:44, 2 August 2026 (UTC)
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.