Banfa,
You're right. They are platform dependent. Just like that long is guaranteed to be a minimum of 32 bits.
It's a darned good observation, and one I haven't been bitten hard by (yet).
On the other hand, it's about the best way to prevent coding errors - when it's used well and properly. Oh yes, and tested.
I've seen projects take weeks long hits when people hand code bit extractions and get it wrong. Thus, my preferred solution is to bit-field map. I know its not absolutely portable, however in my experience, it has been adequate. That's about all I can say.
Yes, projects that map across architectures have to be much more careful in their structure. That's where guys like you and me come in to "get it right".
Cheers!