日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2009年2月19日木曜日

演算子 (2) その定義

今日は「演算子(operator)」の定義と語源を探ってみた。

まず「演算子」の意味。

各種の演算をあらわす記号のことである。(wiki)

コンピュータプログラミングにおいて、演算内容を指示する記号などのこと。
演算の対象となる値や変数などは「被演算子」または「オペランド(operand)」という。
(e-Words)

以上で、演算を表す記号と言うことはわかったので、もう少し踏み込んでみたい。


--------------------
「演算子」は「演算」+「子」の二つの言葉から出来ている。

まず、「子」だが、

小さな塊、一単位の意味でも用いられる。
粒子・分子・原子・陽子・電子などがそれ。
(用語・"子"という字

「子」というのは、「演算子、」「識別子」などのように、
ある性質を持った部分文字列のことでしょう。(教えてgoo


「子」は、一単位としてカウントできる一群の文字列ということらしい。
演算を表す最小限の文字列、それが演算子ということでいいだろう。


--------------------
次に「演算(operation)」の定義は:

演算とは、加算や減算、比較といった計算処理のことである。
四則演算(加算・減算・乗算・除算)・比較演算・論理演算などが演算に含まれる。
演算はコンピューターの五大機能のひとつとして数え上げられる。
IT用語辞典バイナリ


実はwikiで調べると「演算」は「算法」へ転送されてしまう。
そして意味は、

1. 計算機科学の分野でアルゴリズムの訳語として用いられる。

ということでアルゴリズムと言うことになってしまっている。

このページの下の方に「命名について」という項目があり補足がされている。

「算法」は「計算の規則」あるいは「計算の方法」を連想させ、「演算」は「計算を演ずるという行為」を連想させ、ともに「写像」としての「算法の概念」を連想させにくい。

意味的には同じだが言葉自体は、若干イメージのわきにくい言葉になっているようだ。

ここで、「演ずる」とは当然ながら「劇などをおこなう」ことではなく、

(2)ある役割をつとめる。はたす
三省堂提供「大辞林 第二版」

「演」という漢字の由来は、
「水+寅(まっすぐのびる)」の会意兼形声文字で,引くまたはのびるの意。
 演説の演は長く引き延ばして説明すること。
はらきんHP 漢字の由来

というふうに、「演」とは「何かをのばす」ことからきて、「時間をかけてなにかをする」ことに用いられているようだ。

そこから考えると「計算を時間をかけて行う」これが演算の意味ということでよいだろう。

ちなみに「算」の由来は
:「竹+目(算木=数え棒?)+廾(両手)の会意兼形声」で、竹でできた算木を両手で数えるさま


--------------------
こうしてみていくと
「演算子」とは、「計算」という行為を表現する最小単位ということになる。

1+1=2だと「演算子」は「+」と「=」だ。
(もっと正確に言うと、「+」は算術演算子、「=」は関係演算子 とうことになる。)


「1」と「2」は、数字であり、それだけでは計算は意味しない。
「+」記号は、それだけで、足し合わせるという「計算」を表現している。

ようするに「+」記号は「計算」という行為を表現する最小の単位ということになる。


「演算子」には、上記の「算術演算子」、「関係演算子」に加え、「論理演算子」がある。
それぞれの詳細はまた別の機会に調べてみたい。

ちなみにMayaのヘルプでは「関係演算子」が「比較演算子」と表記されている。


またプログラムと数学では「演算子」の種類やルールに若干の違いがある。

独自の演算子。(例:if-elsを意味する「?:」演算子。割り算の余りを求める「%」演算子)
数学とは表記が異なる。(例:平等を表す「==」演算子)
数学より機能が拡張してる。(例:「+」演算子で二つの文字列を連結。)
数学とは機能が異なる。(例:「=」で代入)


最後にITproで見つけた記事より:
コンピュータの世界では,計算のことを演算と呼びます。
コンピュータにできる演算の種類には,
数学の加減乗除の四則演算の他にもいくつかの種類があります。

その中でも,いかにもコンピュータらしく,かつ,よく使われるのが論理演算です。
Basic,C言語,Javaなど,何らかのプログラミング言語をマスターするには,
論理演算を理解する必要があります。
論理演算が分からなければプログラムを作成できない,と言っても過言ではないでしょう。

ということだ。
確かにコンピュータは、引き算でさえ、回路的には論理演算で行われており、
論理演算は、その基本的な部分だけでなく、広く応用されていると思う。

論理演算をぜひマスターできるように頑張ろう。

0 件のコメント:

コメントを投稿