C 論理演算のソースを表示
新しいページはコチラ
移動:
案内
,
検索
※このページではC言語にも存在していたという意味で記事タイトルがC ポインタになっていますが、<br /> [[C PlusPlus|C++]]でも同様です。[[C PlusPlus|C++]]だけの機能がある場合は明記します。<br /> <br /> == '''論理演算''' == 論理演算ってのは、普通の算数とは違う和と積の考え方をする分野の仕組みです。これは電子回路でつくられるON・OFFの考え方を数学的に表現しようとするためのモノだと思えばよいと思います。コンピュータも電子回路で構成されていますし、プログラムもメモリの中のON・OFFによって構成される記号の塊です。いわゆる機械語は電子回路のON・OFFによって表現されます。それが2進数であり、発展したものがニーモニック言語でありアセンブラ、16進数表記の考え方に発展し、それを構成するための高水準言語としてCやC++の言語が作られ、コンパイルやリンクの作業翻訳・解析処理によって機械語を生成しているのです。 上記のような世界観を考えるために生まれた論理演算は論理積・論理和・論理否定・論理排他和を基本的な演算として論理シフト・論理算術シフトといった特殊な操作を含めた演算があります。これによって電気信号のON・OFFの計算結果を表現することで、通常の算数の演算表現や文字表現からマルチメディア(音・音楽・音声・映像・動画・アニメ・外部機器制御)、コンピュータ自身の制御までを網羅しようとする演算手法です。 論理演算は、上記のような幅広い役割に発展することもあり、非常に幅広い学問でもあるため、このWikiの項目では、その論理演算の全てを解説することはありません。ここではプログラムで表現される論理演算の基礎的な表現だけを解説します。その応用方法については、この広大なネットの情報や専門書の解説にゆずりたいと思います。論理演算で数学を表現できるのですが、その数学の表現と論理演算には、より簡素に表現する工夫がなされていたり、論理演算の表現の限界や論理演算独自の特徴を活かすことや、コンピュータの処理速度と論理演算の回数との関係による計算の可用性(うまく利用できる性質)の限界、限界を利用した暗号の仕組みがあるので、論理演算で全てを表現できるかが、コンピュータの可能性をひろめていると考えてよいと思います。わたくしなりの解説でしたが論理演算の世界の奥深さだけは肝に銘じていただけたなら幸いです。 それでは、プログラムで使われる論理演算の基礎的な部分について、実際に記載してみたいと思います。 まずは論理値同士の演算をする論理演算子についてですが、これはBool型同士の演算とも言えるかもしれません。論理値は1(真=true)もしくは0(偽=false)で表すもので、 論理和の演算子は '''||''' です。 {| class="wikitable_ronriwa" border="1" |- ! 値1 !! 値2 !! 結果 |- | 0 || 0 || 0 |- | 0 || 1 || 1 |- | 1 || 0 || 1 |- | 1 || 1 || 1 |} 論理積の演算子は '''&&''' です。 {| class="wikitable_ronriseki" |- ! 値1 !! 値2 !! 結果 |- | 0 || 0 || 0 |- | 0 || 1 || 0 |- | 1 || 0 || 0 |- | 1 || 1 || 1 |}
C 論理演算
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ