真偽値 (シンギチ) とは | 意味や読み方など丁寧でわかりやすい用語解説
真偽値 (シンギチ) の読み方
日本語表記
真偽値 (シンギチ)
英語表記
Boolean (ブーリアン)
真偽値 (シンギチ) の意味や用語解説
真偽値(しんぎち)とは、コンピュータプログラムにおいて、物事が「正しい」か「間違っているか」、あるいは「真(True)」か「偽(False)」のいずれか二つの状態だけを表す特別なデータ型である。英語ではBoolean(ブーリアン)型と呼ばれ、これは19世紀の数学者ジョージ・ブールが提唱したブール論理に由来する。プログラミングにおいて、この真偽値は非常に基本的な要素であり、プログラムの流れを制御したり、特定の条件が満たされているかを判断したりするために不可欠な概念である。例えば、ユーザーが入力したパスワードが正しいか、ある数値が別の数値よりも大きいか、といった判断の結果はすべて真偽値として表現される。コンピュータはあらゆる処理をYes/Noの組み合わせで行っており、真偽値はそのYes/Noを直接的に扱うための最もシンプルな情報単位と言える。 真偽値には「真(True)」と「偽(False)」の二つの状態しかない。プログラミング言語によっては「true」と「false」、「TRUE」と「FALSE」など、表記に若干の違いがあるが、いずれも本質的には同じ意味を持つ。 真偽値が最も活用されるのは、プログラムの「条件分岐」と「繰り返し処理」である。 条件分岐とは、ある条件が満たされた場合にのみ特定の処理を実行するという制御構造であり、主に`if`文として利用される。例えば、「もしユーザーの年齢が18歳以上ならば、成人向けのコンテンツを表示する」という処理を考えるとき、この「ユーザーの年齢が18歳以上である」という条件の評価結果が真偽値となる。もし真(True)であれば成人向けのコンテンツが表示され、偽(False)であれば表示されない、といった具合である。 繰り返し処理とは、ある条件が満たされている間、特定の処理を繰り返し実行するという制御構造であり、主に`while`文や`for`文の条件式として利用される。例えば、「リストにまだ未処理のデータが残っている間は、そのデータを処理し続ける」といった処理において、「未処理のデータが残っている」という条件が真(True)である限り、繰り返し処理が実行される。条件が偽(False)になった時点で繰り返しは終了する。 真偽値は、特定の値を比較した結果としても得られる。例えば、`5 == 5`という式は「5は5と等しいか」を問い、結果として真(True)の真偽値を返す。一方、`5 > 10`という式は「5は10より大きいか」を問い、結果として偽(False)の真偽値を返す。これらの比較演算子(`==`:等しい、`!=`:等しくない、`<`:より小さい、`>`:より大きい、`<=`:以下、`>=`:以上)は、常に真偽値を生成する。 複数の真偽値を組み合わせて新たな真偽値を生成するために、「論理演算子」が使用される。主要な論理演算子には「AND(論理積)」、「OR(論理和)」、「NOT(論理否定)」がある。 AND演算子は、両方の値が真(True)である場合にのみ結果が真(True)となる。例えば、「ユーザーがログインしている」かつ「管理者権限を持っている」の両方が真の場合にのみ、管理画面へのアクセスが許可される、といった状況で利用される。 OR演算子は、どちらか一方の値が真(True)であれば結果が真(True)となる。例えば、「ユーザーが学生である」か「教員である」のどちらかが真であれば、学内ネットワークへのアクセスが許可される、といった状況で利用される。 NOT演算子は、真(True)を偽(False)に、偽(False)を真(True)に反転させる。例えば、「ユーザーがログインしていない」という状態をチェックする場合、「ユーザーがログインしている」という真偽値にNOTを適用することで確認できる。 また、プログラミング言語によっては、真偽値ではない他のデータ型(数値、文字列、リストなど)を真偽値として評価する仕組みがある。これを「真偽値への型変換」と呼ぶことがある。例えば、数値の0や空の文字列、空のリストなどは偽(False)と評価され、それ以外の数値(0以外の任意の数値)や空ではない文字列、空ではないリストなどは真(True)と評価されることが多い。この挙動は言語によって異なる場合があるが、プログラムの記述を簡潔にするために利用されることがある。このような性質を持つ値をそれぞれ「falsy(偽とみなされる値)」、「truthy(真とみなされる値)」と呼ぶこともある。例えば、`if (変数)` のように書いた場合、変数の値がfalsyであれば`if`ブロックは実行されず、truthyであれば実行される。これは、変数が存在するか、空でないか、といったチェックを簡潔に行うのに便利である。 真偽値は、関数の戻り値としても頻繁に利用される。ある操作が成功したか失敗したか、あるいは条件を満たしたかどうかを呼び出し元に伝えるために、真偽値を返す関数が多数存在する。これにより、呼び出し側のプログラムは、返された真偽値に基づいて次の処理を決定できる。 このように、真偽値はコンピュータが論理的な判断を下し、それに基づいて処理の流れを制御するための最も根本的なデータ型である。システムが複雑になっても、最終的にはYes/Noのシンプルな判断の積み重ねで動作しており、真偽値はその判断の基盤を形成していると言える。システムエンジニアを目指す上では、真偽値の概念とその利用方法を深く理解することが、堅牢で効率的なプログラムを構築するための第一歩となる。