Probably because it’s only four bytes of data, and counting/extracting bits takes more cpu time than one AND operation.
Most CPU’s are optimised to work with whole integers (32/64 bit) rather than individual bits.
If memory was a serious concern you could compress it down to one byte as a ‘number of 1s’ counter at the cost of additional cpu operations, but because 3 extra bytes is such a small amount of data, this memory/time trade off isn’t worth it in most systems.
It’d be useful if you wanted to compress some data logs or something with many subnet masks though.
This one’s even worse. You take a shot if you miss, they take a shot if you hit: https://youtube.com/watch?v=kUMaIr4MEHg