ブール式の真理値表計算機
AND・OR・NOTを使ったブール式を入れると、完全な真理値表を作ります。A AND Bなら4行で、両方の入力が1の行だけが1になります。変数は6個、行は64行まで扱え、行の抜けや反転を防げます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 式
- A AND B
- 変数
- A, B
- 変数の数
- 2
- 行数
- 4
デジタル論理、試験対策、ハードウェア設計では、少数の変数からなるブール式の完全な真理値表が必要です。手計算で (A AND B) OR NOT C を書く学習者は行を落としたり NOT を反転し損ねたりしがちです。ゲート検査をスクリプト化する技術者には、AND・OR・NOT だけが求められているのに XOR を捏造しない決定的なオラクルが要ります。このブール式真理値表計算機は短い式を受け取り、自由変数を自動検出して自然な二進順ですべての割当てを列挙し、各行の結果ビットを返します。括弧で結合を制御でき、語形の AND・OR・NOT と記号 &, |, !, &&, ||, ~ をすべて受け付けます。変数は最大六個までとし、表は六十四行に抑えてブラウザやエッジワーカーでも小さく保てます。
AND・OR・NOT から真理値表を組み立てる方法
ブール式とは、自由変数のあらゆる組合せについて真または偽となる式です。本計算機は入門のデジタル論理で用いる三つの古典演算子、すなわち NOT(単項の補元)、AND(論理積)、OR(論理和)に対応します。
優先順位は通常どおり NOT が最も強く、次に AND、その次に OR なので、括弧を付けない限り A OR B AND C は A OR (B AND C) として解釈されます。演算子は語(大文字小文字を区別しない AND・OR・NOT)でも記号でも書けます。
AND にはアンパサンドと二重アンパサンド、OR には縦棒と二重縦棒、NOT には bang またはチルダを使います。括弧は代数と同じく結合を強制します。より大きな式の中に固定ビットが必要なときは定数 0・1・true・false も使えます。
変数は A・B・enable・Q1 のような文字または英数字の識別子で、大文字に正規化されるため a と A は同じ信号として扱われます。エンジンは相異なる変数をすべて集め、列順を安定させるためアルファベット順に並べ、自由変数が六個を超える式は拒否します。
ゼロから二の n 乗マイナス一までの各整数マスクについて、対応するビットをソート済み変数リストの左から右へ割り当て(最上位ビットは左端の変数)、その割当てで式を評価して結果ビットを記録します。したがって出力は、印刷・採点・シミュレータ入力にそのまま使える、並び替え不要の完全で順序付きの表になります。
入力契約、応答の形、エラーの扱い
例の値 A AND B は二変数の論理積です。より興味深い式では (A AND B) OR NOT C のように括弧を使います。予期しない文字、対応しない括弧、末尾の余分なトークン、XOR や NAND など未対応の演算子も、推測なしで式を直せるよう明確なメッセージで失敗します。
各行は variables 一覧に揃った 0 または 1 のビット配列 values と、評価された出力ビット 0 または 1 の result を持ちます。短い formula 文字列は表の横に表示するための列挙契約を再掲します。例:式 A AND B は変数 A と B、四行を返し、両方のビットが 1 の最終行だけ result が 1 になります。
一変数の NOT A は結果が反転した二行を返します。TRUE OR FALSE のような定数のみの式は変数ゼロ、一行、一つの結果ビットになります。検証失敗は課金されません。
式は数百文字程度までに抑えてください。
活用例
教室と宿題の照合
学習者に A AND B OR NOT C を提出させ、教科書の手計算と 2^n 行すべてを順序どおり照合させます。
試験と LMS の自動採点
不正な構文を拒否し、未対応の演算子を決して捏造しない決定的オラクルでブール真理値表の設問を採点します。
小さなデジタル制御条件
完全な HDL シミュレータなしで、AND・OR・NOT で書かれたイネーブルとマスク論理をファームウェアレビュー用スクリプトで列挙します。
よくある質問
対応しているブール演算子はどれですか?
AND・OR・NOT のみです。語(大文字小文字非区別)または記号(&, &&, |, ||, !, ~)で書けます。括弧で部分式をまとめます。
式に使える変数は何個までですか?
相異なる変数は最大六個(64 行)です。変数は式から自動検出し、応答ではアルファベット順に並べます。
(A AND B) OR NOT C はどう書けばよいですか?
expression に文字列 "(A AND B) OR NOT C"(または & | !)
どの演算子が先に計算されますか?
NOTが最も強く、次にAND、最後にORです。そのためA OR B AND CはA OR (B AND C)と読まれます。別のまとまりにしたいときは、かっこを付けてください。
行はどの順番で並びますか?
自然な2進数の順です。変数はアルファベット順に並べ、左端の変数を最上位ビットとするので、表はすべて0の行から始まり、すべて1の行で終わります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/elec/boolean-truth-table \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"expression":"A AND B"}'const res = await fetch("https://api.kit.forhosting.com/elec/boolean-truth-table", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"expression": "A AND B"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/boolean-truth-table",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"expression": "A AND B"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/boolean-truth-table", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"expression":"A AND B"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"expression":"A AND B"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/boolean-truth-table", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"expression": "A AND B"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.boolean_truth_table",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
AND・OR・NOT から真理値表を組み立てる方法
真理値表は二の n 乗で増えるため、軽い parse エンドポイントではそれ以上は巨大になりすぎるからです。
入力契約、応答の形、エラーの扱い
必須の文字列フィールド expression を一つ含む JSON 本体を POST してください。空文字、欠落フィールド、文字列以外の型はフィールド名付きの invalid_input で失敗します。成功時は元の式文字列をエコーし、変数を並べた一覧、variable_count と row_count(常に variable_count の二乗)を報告し、オブジェクトの配列として truth_table を返します。本エンドポイントは純粋な真理値表エンジンであり、汎用の数式処理系ではなく、積和形への簡約やカルノ図の描画は行いません。それらは必要になったときの別プロダクト案です。
ブール真理値表 API が役立つ場面
教室やチュータリング基盤はブール式の真理値表計算機を埋め込み、学習者が紙上で符号を誤らず (A OR B) AND NOT C の各行を照合できるようにします。試験や LMS の自動採点は、欠落行や誤った結果ビットを、完全な数式処理スイートに頼らずに付ける決定的オラクルを必要とします。無効な式は残高を消費しません。ハードウェアとファームウェアのチームは、イネーブル論理や割込みマスクのレビューで小さな制御条件を AND・OR・NOT に落とすことが多く、六変数の表のために重いソルバを引く代わりに小さな parse API を呼びます。実装は純粋 parse の tier A のため、成功した各呼出しはモデルトークンも外向きネットワークもなく、公開の基本料金 $0.002 です。テストで順序付き truth_table を固定し、アルファベット順ソートで変数名を安定させれば、宿題プラグイン・エッジワーカー・文書生成器向けに、自前のデジタル論理ツールチェーンなしで再現可能な表が得られます。
技術的な質問
truth_table フィールドには何が入っていますか?
行の配列です。各行は values(variables 配列に揃った 0/1 ビット)と result(評価された出力ビット 0 または 1)を持ちます。行は自然な二進順です。
ブール真理値表計算機の料金はいくらですか?
ブラウザツールは無料です。API リクエストは成功した呼出しごとに前払い KIT 残高から $0.002 を使います。無効な入力は課金されません。