true(- 1): 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 165438
False(0):0000000000000000
It can be seen that the values of these two numbers are opposite in every bit, so they are real opposites, which are suitable for expressing logical values such as "either/or", "right and wrong" and "right and wrong".
And "non-zero is true and zero is false" is true in any case, because when converting numerical values into Boolean values, numbers need to be divided into two categories (otherwise, are the other two categories true or false? ), it is most appropriate to use "zero" and "non-zero" to classify at this time.