From Wikipedia article:
In boolean logic the application of the mask can be represented as
This says that the file's permission mode (C) is a result of a logical AND operation between the negation of the mask (Q), and the process' requested permission mode setting (P).
Why was negation necessary or useful? Why
(P & (~Q)) instead of just
(P & Q)?