What's the difference between a compl (~) bitwise operator and a NOT (!) bitwise operator? Don't they do the same thing?