There are macros for bit fields, don't ignore them:
Here you see some example usages of bit twiddling:
Here I have discussed a bit about bitflags:
Regarding bit level safety: