[ 前へ | 目次 | 次へ ]
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 が表示されます。



スポンサーリンク



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

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

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

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

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

Exevalator 2.2 をリリース、TypeScript 対応によりWebブラウザ上で動作可能に
2024-10-22 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。新たに TypeScript に対応し、Webブラウザ上での式計算にも使えるようになりました。詳細を解説します。

アシスタントAI作成の舞台裏(その2、作成編)
2024-10-12 - アシスタントAIの作成方法解説の後編です。実際にChatGPTの「GPTs」機能を用いて、アシスタントAIを作成する手順や、独自の知識をもたせたり、精度を出すためのノウハウなどを解説しています。

アシスタントAI作成の舞台裏(その1、基礎知識編)
2024-10-07 - アシスタントAI作成方法解説の前編です。今回はまず、アシスタントAIを作る前に抑えておきたい、基礎知識を延々と解説しています。そもそもLLM型AIとはどんな存在か? RAGとは何か? 等々です。

ソフトの利用をサポートしてくれるアシスタントAIを提供開始!
2024-09-20 - RINEARN製ソフトの使い方の質問応答や、一部作業のお手伝いをしてくれる、アシスタントAIを提供開始しました。ChatGPTアカウントさえあれば、誰でも無料で使用できます。使い方を解説します。

Exevalator 2.1 をリリース、新たに Visual Basic に対応
2024-07-28 - オープンソースの式計算ライブラリ「Exevalator(エグゼバレータ)」の2.1をリリースしました。今回から、新たに Visual Basic(VB.NET)でも使用できるようになりました。詳細を解説します。

関数電卓 RINPn(りんぷん)、Esc キーで計算式の一発クリアが可能に
2024-07-20 - 関数電 RINPn の Ver.1.0.2 をリリースしました。今回から、キーボードの「 Esc 」キーを押すと、入力中の計算式を一発でクリアできるようになりました。詳細を解説します。