Quote: "You can instead simply test if it equals zero:
"not x" would change to "(x=0)""
I'm not sure if I understand that part, because if x is 0 (default), then not x would result as -1 (true).
But you are correct about the first part, 2's complement explains the values received:
http://en.wikipedia.org/wiki/Two%27s_complement
And if you say something like:
a as boolean
a = not [some statement here]
Then you will get the UNSIGNED value as in the table on that link.
So, for example, normally in DB if we write not true (not 1), we will get -2 (or false). But if we assign that result to a Boolean variable such as in the code above, we will get 254, which is the UNSIGNED value, and it is the same value as -2 as it can be seen in the Wikipedia table.
Anyways, I'm not sure how great all of this was explained in the Dark Basic Professional help file.
I bought Dark Basic lith, standard, and then professional many years ago.
And Boolean logic is simple to understand in languages such as Python and many other languages. But it is my fault, I did not yet learn binary conversion. If I had, I would probably understand this easily.
At least now I know what happens, and why it happens. Exactly how it happens I will still have to learn.
Thank you Diggsey for your comments and the binary expression that you mentioned.
-The man-