I don’t remember the first time I saw this word but I suspect the word multiplex is not the proper one. How would you name this:
Shot name is multiplexed as 15:17, where:
* The first 15 bits stores the sequence number.
* The last 17 bits stores the shot number.
Thanks in advance!
EDIT: Thanks all! So it seems packed is the proper word. With pack/unpack being the name of the process.
I’ve seen this referred to as a “packed” field in some cases.
Yeah that’s a good suggestion. A common way to refer to low-level memory structures e.g. C structs. Bit packing, padding, and alignment.
Mandatory link when we talk about padding and alignment: The Lost Art of Structure Packing.
I usually call it a bit stream or a bit field.
Shot name is stored as a 32-bit big endian integer where:
- The first 15 bits stores the sequence number.
- The last 17 bits stores the shot number.
(time) Multiplex would be if you only had a single 17bit field and alternate the two elements.
Time-division isn’t the only kind of multiplexing … but I guess most of the others already have more specific names.
I’d use ‘encoded as 15:17’, or ‘packed’ is fine here as well.
I’d also recommend being explicit about which 15 and 17 bits are used rather than using ‘first’ and ‘last’, because that may mean different things depending on the platform endianness. You could say ‘Bits 0:14 store the sequence number, while bits 15:31 store the shot number’. That makes it far easier to reason about how to access each piece of data in the combined 32 bits.
I suppose multiplexing could be considered the right name… multiplexing is putting two signals into a single one. So by the example, if you pack 15 and 17 into a single 32 bit, it’s kind of multiplexing.
Especially if you send it as one thing, and unpack it later, which would be the demultiplexing