[ 前へ | 目次 | 次へ ]
Japanese English

論理演算

ここでは、真偽値(論理値)の演算である、論理演算を行う方法を扱います。

論理演算子

複数の比較演算結果などの真偽値(論理値)が、同時に成立しているかなどを調べるためには、論理演算子を使用します。

VCSSLでは、以下のような論理演算子をサポートしています。

記号 意味 扱える型 詳細
 && 論理積
AND
(かつ)
bool 右の値と左の値が、ともにtrueである場合のみ、結果がtrueとなります。どちらか一方がfalseなら、結果はfalseとなります。
 || 論理和
OR
(または)
bool 右の値と左の値のうち、どちらか一方がtrueなら、結果はtrueとなります。右の値と左の値が、ともにfalseである場合のみ、結果がfalseとなります。
 ! 否定
NOT
(でない)
bool 右側の値がtrueなら、結果はfalseとなります。また、右側の値がfalseなら、結果はtrueとなります。

2つの比較結果を調べる

それでは、実際に2 つの比較結果を調べてみましょう:


bool b1;
b1 = 1 < 2;

bool b2;
b2 = 2 < 3;

bool b3;
b3 = b1 && b2;

print(b3);
TrueAndTrue.vcssl

- 実行結果 -

true

これを実行すると true が表示されます。 b1 と b2 はともにtrue なので、 b1 && b2 もtrueとなったのです。

それでは、以下のようにするとどうでしょうか:


bool b1;
b1 = 1 < 2;

bool b2;
b2 = 2 > 3;

bool b3;
b3 = b1 && b2;

print(b3);
TrueAndFalse.vcssl

- 実行結果 -

false

今度は false が表示されます。 b1は true でしたが、b2は false だったので、 b1 && b2 はfalseとなったのです。このように「&&」演算を用いると、 複数の比較結果が、共に成立している場合のみ、trueを得る事ができます。

比較と論理演算の混合

複数の比較結果を、論理演算で判断するような処理は、プログラミングにおいて頻繁に登場します。 そのたびにbool型変数をいくつも用意するのは大変です。

そこで、以下のように混合記述する事も可能です:


bool b;

b = (1 < 2) && (2 < 3);

print(b);
CompAndLogic.vcssl

- 実行結果 -

true

これを実行すると true が表示されます。

複数の論理演算の混合

複数の論理演算を組み合わせて処理するには、以下のように( )を用いて区切る必要があります:


bool b;

b = ( (1 < 2) && (2 < 3) ) || ( (1 > 2) && (2 > 3) ) || (1 > 2);

print(b);
LogicAndLogic.vcssl

- 実行結果 -

true

これは ( true && true ) || ( false && false )|| false 、つまり true || false || false の演算となるので、実行するとtrue が表示されます。

否定

比較結果の間逆を求めたい場合があるかもしれません。そのような場合には、否定の記号「!」を使用します:


bool b1 = true;

bool b2 = !b1;

print(b2);
Not.vcssl

- 実行結果 -

false

これを実行すると false が表示されます。


この記事の著者

松井 文宏
[ RINEARN代表, 博士(理学), 応用情報技術者 ]
VCSSLやリニアングラフ3D、その他諸々を開発しています。ガイド類や記事も書いています。


スポンサーリンク



Japanese English
この階層の目次
RINEARN からのお知らせ
※ VCSSL は RINEARN が開発しています。

ExevalatorのVer.2.4をリリース—MCPをサポートし、AI用の計算ツールとしても使用可能に
2025-11-15 - 式計算ライブラリExevalatorのVer.2.4をリリースしました。今回から、AIとやり取りするためのプロトコルである「MCP」をサポートし、AI用の計算ツールとしても使用可能になりました!

Exevalatorの最新版Ver.2.3をリリース、新たにPythonで使用可能に
2025-11-04 - 式計算ライブラリExevalatorのVer.2.3をリリースしました。今回から、新たにPython製のプログラムでも使用可能になりました!AI用ツール開発需要などの背景も踏まえて、詳細をお知らせします。

Exevalatorをアップデート、エラーメッセージの日本語化が手軽に
2025-10-31 - 式計算ライブラリExevalatorのVer.2.2.2をリリースしました。今回から、エラーメッセージを手軽に日本語化できるようになりました。数件のバグ修正&微調整も作んでいます。詳細をお知らせします。

関数電卓RINPn(りんぷん)オンライン版の内部構造を解説
2025-10-22 - 先日登場した、関数電卓ソフトRINPn(りんぷん)のオンライン版の内部構造を解説します。オープンソースなので、自由に改造・流用して、自分だけのWeb電卓を作る事も可能!(かもしれない)

関数電卓RINPn(りんぷん)、どこでもすぐ使えるオンライン版が登場!
2025-10-21 - フリー関数電卓ソフトRINPn(りんぷん)に、Web上でどこでもすぐ使える「オンライン版」が新登場しました!PCだけでなく、スマホでも利用可能です。詳細をお知らせします!

VCSSLのサポートAIが登場!ただし実用品質にはChatGPT有料アカウント(Plus)での利用推奨
2025-08-19 - プログラミング言語VCSSLについての質問対応や、コーディング作業を手伝ってくれるAIさんが登場しました!使用までの流れや推奨事項を解説し、実際の回答例や生成コード例などもたくさん紹介します!

各ソフトやVCSSLの英語版ドキュメント整備がほぼ完了
2025-06-30 - RINEARNでは2年前から、AIの補助による英語版ドキュメントの大幅拡充計画を進めてきました。今回、主要ドキュメント&コンテンツの英訳がほぼ完了し、一応の目標水準に達しました。詳細をお知らせします。

VCSSLの最新版をリリース:外部プログラムとの連携機能を少し強化、他
2025-05-25 - VCSSL3.4.52をリリースしました。外部プログラム(C言語製の実行ファイル等)との連携機能を少し強化し、文字化け対策やOS判別などを可能にしました。他にも細かい機能追加があります。詳細をお知らせします。

VCSSLの最新版をリリース、Java24上での非互換な挙動を対処
2025-04-22 - VCSSL3.4.50をリリースしました。Java24環境上でのネットワークドライブ関連のファイルパス解決で、従来環境とは異なる挙動が生じていたのを解消しました。詳細をお知らせします。

リニアングラフやVCSSLの最新版をリリース、目盛りの位置や内容を自由に指定可能に!
2024-11-24 - リニアングラフ3D/2Dを更新し、自由な位置に、自由な表記内容の目盛りを描けるようになりました!併せて、Java言語やVCSSLでの、プログラム制御用APIも拡張しています。詳細をお知らせします。