ArtLung Blog

www.flickr.com
A photo on Flickr A photo on Flickr A photo on Flickr A photo on Flickr A photo on Flickr

Joe Crawford lives in Simi Valley, CA USA. He makes mistakes.

Bitmasks

I’m doing work with bitmasks these days, working on system maintenance on a web application I had nothing to do with building. One of the things it does is use Bitmasks to keep track of some customer data states. I’m not sure I like it, but I can’t deny that it’s a way to preserve staus in a very compact way.

Mask (computing) – Wikipedia, the free encyclopedia
The most common mask used, also known as a bitmask, extracts the status of certain bits in a binary string or number. For example, if we have the binary string 100111010 and we want to extract the status of the fifth bit counting along from the most significant bit, we would use a bitmask such as 000010000 and use the bitwise AND operator. Recalling that 1 AND 1 = 1, with 0 otherwise, we find the status of the fifth bit.

two comments...

we use a bitmask to store permissions on an ACL… works very well. We can aggregate the permissions using bitwise operators to build aggregated permissions for users who have multiple roles in our system.

Bitmasks are always converted to their decimal equivalent prior to entering them and that’s why i like it.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.