Are bools objective or subjective?

I’m having trouble understanding how booleans work in certain code.

For example, if I have a variable of bool testBool = false; does having !testBool mean that it is NOT false (since that is its original value), or that it is NOT true.

Or if I have a code of testBool = !testBool. Does this mean that False = Not False(True). Or does it mean True = False.

Hello!!


Short answer: Is objective, is absolute.


Long answer (read it):

First, you need to understand there are 2 “things” you can do with a bool (or a float, or int…)

Is to GET and to SET the value of the variable.

saying:

mybool = true   <- This is a set. You aply the value of variable to true (doesn't care which was before)

When you do a conditional sentence, you need to GET the value (this means read the value of the variable) this will not change its value, just read it. Is now ehn you can use the " ! " symbol, wich means “negative”, “no”, false

if (something == false) 

is the same as

if (!something)

You asked: if I have a variable of bool testBool = false; does having !testBool mean that it is NOT false(since that is its original value). I say, when you GET the variable value, does not care the acual value. !bool is the same as bool == false