『=』の数学とプログラミングにおける違い

今回は、かなり初歩的な話題です。

『=』という記号は小学生でも知ってると思いますが、一般的には、同じであるという関係を表す記号で、イコールと呼ばれてます。

まずは、数学における『=』の意味を考えてみましょう。

突然ですが、

  1. A+1=0
  2. B+1=1+B

この1,2の式の違いは、わかりますか?

例えば、1番目の式を見てみると、

A+1=0

3+1=0                A=3を代入

4=0       

つまり、A=3の場合は、A+1=0は、成立しないとわかるでしょう。

A+1=0

(-1)+1=0           A=-1を代入

0=0

A=-1の場合に、A+1=0は、成立つことがわかるでしょう。

このように、1番目の式のようにある値の時のみ、左辺と右辺が等しい式のことを方程式と言います。

次に、2番の式を見てみると、明らかに、Bがどんな値を取っても、左と右が同じであるという関係になることがわかるでしょう。このような2番目の式のことを恒に等しいという意味で恒等式と言います。

方程式と恒等式を合わせて等式と言います。

つまり、数学では、『=』は、等式を表すのに用いる記号です。

 

一方、プログラミングでは、言語によっては、『=』を数学と同じように使う場合もありますが、Java、C、Pythonなどの主要な言語では、

『=』は、代入の意味で使われることが多いです。例えば、

int c=1;   ①

c=c+1;    //右辺=c+1=1+1 ②

このプログラムを実行すると、c=2になります。①では、整数型の変数cの初期値として1を代入してます。②は、不思議に思う人がいるかもしれませんが、ここでの『=』は、右辺の値を先に計算して、結果を、左辺のcに代入とする意味です。

 

このように、『=』は、数学では、等式を表す記号として、CやJavaなどの主要な言語では、

右辺の値を左辺に代入するという意味で用いられるので、違いをよく覚えておきましょう。