this post was submitted on 18 Oct 2023
2 points (100.0% liked)

Programming

17313 readers
323 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

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.

top 5 comments
sorted by: hot top controversial new old
[–] BradleyUffner 9 points 1 year ago (1 children)

I've seen this referred to as a "packed" field in some cases.

[–] WhaleScenery 4 points 1 year ago* (last edited 1 year ago) (1 children)

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.

https://en.m.wikipedia.org/wiki/Data_structure_alignment

[–] Narann 1 points 1 year ago

Mandatory link when we talk about padding and alignment: The Lost Art of Structure Packing.

[–] pelya 2 points 1 year ago

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.
[–] lobsticle 2 points 1 year ago

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.