I am writing a couple of functions that encode and decode a list of options into a Long so they can easily be passed around the application, you know this kind of thing:
1 – Apple
2 – Orange
4 – Banana
8 – Plum
etc.In this case the number 11 would represent Apple, Orange & Plum.
I’ve got it working but I see this used all the time so assume there is a common name for the technique, and no doubt all sorts of best practice and clever algorithms that are at the moment just out of my reach.
Bit Flags. It’s a technique used as part of Bitmasking.
0001 – Apple
0010 – Oranage
0100 – Banana
1000 – Plum
Each 1 is the flagged bit.
Now you can easily perform bitwise operations using those number: