質問: いつもお世話になっております。 表題のboolean型のtrue・falseのビット演算なのですが いろいろなホームページを見るとtrue・falseしか返さないとかいてあるのにビット演算の場合1or0がはいるのはなぜですか? なぜ、1と0なのですか?他の言語では-1だったりとかがあるでのよくわかりません。 よろしくお願いします。
回答: Javaのbooleanに対しては「ビット演算」ではなく「論理演算」と呼びます。ビット演算ではtrueは1に、falseは0に相当するというだけの話です(実際0と1になっているというわけではなく、あくまで計算上0と1として扱うと画一的に扱える)。 他の言語ではifなどに整数を渡して0か0以外などで条件分岐できるものもあるようですが、それはその言語の仕様です。