What are you doing that in? C?
Yes. If what you say is true, then this Wikipedia entry is wrong:
No it isn't. 10==true should evaluate to false because 10 is not litterally equal to true (which has a litteral value of either 1 or -1 [can't remember which]). Why is it hardly relevant? Booleans are, per definition, 0 and 1.
No they aren't. By definition booleans do not have numerical representation (they are either true or false - a statement like 'x=10' is either true or false, it is not 1 or 0).However a computer doesn't work that way, so you have to approximate it. Thus false is generally approximated to 0, and true is approximated to being "not false".
Thus if you want to find out if a variable = true, the correct expression you're looking for is whether x <> false.