C 論理演算 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(論理演算)
(論理演算)
14行: 14行:
 
それでは、プログラムで使われる論理演算の基礎的な部分について、実際に記載してみたいと思います。
 
それでは、プログラムで使われる論理演算の基礎的な部分について、実際に記載してみたいと思います。
  
まずは論理値同士の演算をする論理演算子についてですが、これは[[Cpp Bool]]Bool型同士の演算とも言えるかもしれません。論理値は1(真=true)もしくは0(偽=false)で表すもので、
+
まずは論理値同士の演算をする論理演算子についてですが、これは[[Cpp bool型|bool]]型同士の演算とも言えるかもしれません。論理値は1(真=true)もしくは0(偽=false)で表すもので、
  
  
72行: 72行:
  
  
値の部分はBool型のようなもの同士が理解しやすいですが、Bool型以外の値同士でも論理演算を行うことは可能です。一般の算数(数学)における0(Zero)という値だけが0(偽=false)として扱われるので、任意の型の変数の実体が0以外のなんらかの値を保有していれば1(真=true)であることになります。この部分はプログラミング言語の処理系によって異なることが多いので混同してしまう多言語プログラマは多いかもしれませんね。
+
値の部分はBool型のようなもの同士が理解しやすいですが、Bool型以外の値同士でも論理演算を行うことは可能です。一般の算数(数学)における0(Zero)という値だけが0(偽=false)として扱われるので、任意の型の変数の実体が0以外のなんらかの値を保有していれば1(真=true)であることになります。この部分はプログラミング言語の処理系によって異なることが多いので混同してしまう多言語プログラマは多いかもしれませんね。論理演算における比較演算子の動作および一般の算数(数学)表現における0(Zero)以外が1(真=true)となることについては[[Cpp bool型|bool]]の記事でも確認できます。
 +
 
 +
 
 +
次にビット単位の論理演算について触れます。これは特定の型の値をビット表記(機械語)にしたもの同士の論理演算をまとめて実施するものです。ネットワーク通信や外部機器制御信号(USB通信/Bluetooth/MIDI/パラレル通信/PIC…etc)の取り出し処理によく使われる手法にもなります。
 +
 
 +
 
 +
if文における判定処理も論理演算の1(真=true)と0(偽=false)に基づいて実施されていますので、論理演算は重要な知識となります。よく理解しておきましょう。できれば一歩踏み込んだブール代数論やディジタル回路工学まで理解できると良いのですが、理解しようとすれば、時間がいくらあってもたりません。排他的論理和やAならばBといった集合論くらいは抑えておきたいものです。AND回路/OR回路/NAND回路/NOR回路/EXOR回路/**フリップフロップ回路/こういった仕組みを理解することによってコンピュータのクロックと演算処理装置と制御装置と入出力装置の仕組みが理解できるようになります。情報工学や情報技術系の勉強を体系的に理解する学問では学習する機会の多い学問分野になります。トランジスタや半導体のスイッチやメモリの仕組みについても理解していける学問です。半導体を理解するには、更に電子物性論といったものや力学や電磁気学や化学そしてさらには自然工学、光学を理解していくことになります。実際の製造ではもちろん統計学が必要になりますし、画像処理工学や技術者倫理学、各種機器の取り扱い資格に文献を理解する語学力も必要になってきます。コンピュータを構成する機器を理解するには医学とはまた異なる専門性がそこにはあるのかもしれません。コンピュータを軸にバイオミメティクスや医学、宇宙工学が展開しているとすれば情報工学の理解は基礎の基礎くらいなのかもしれないですね。もちろん知らなくても現代の専門家程度であれば継続的な研究は可能だと思いますが、これからの専門性は計算機に頼る部分も多大になっていくものではないかと思います。

2015年2月13日 (金) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス