Nov 28, 2009 01:31
Никогда не понимал, почему с точки зрения компьютера 0 - это false, а 1 - это true. Есть вполне очевидно и естественно, что 1 - это false, а 0 - это true. Потому что, например, если надо как-то интерпретировать поступающую информацию в зависимости флага, имеющего значение 0 или 1, естественно менять информацию на противоположную, если 1, и не менять, когда 0. То есть, когда ничего не надо делать - это 0. Логично, не правда ли?
Ещё, например, если 0 - это true, то есть операция ^, которая по значению переменной типа boolean и информации о том, истинно ли это значение, даст истинное значение. А если 0 - false, то нужна была операция "<=>". Такой нет. (точнее, тогда имеет смысл спрашивать, почему есть операция ^, но нет операции "<=>", поскольку операции появились позже, чем был установлен этот стереотип. А ответ на этот вопрос понятно какой - потому что операция ^ оказалась более нужной. Ну и, собственно, тогда, почему было не...).
прога,
философия