CodeZine(コードジン)

特集ページ一覧

論理演算の様子を観察

LED表示でシフト演算の動作を見る

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/10/03 11:00

目次

論理和(OR)を試してみよう

 シフトの次は論理和演算をやってみましょう。

 論理和は、

  • ビットごとの足し算と同じ
  • ただし、1+1は1になる
  • 使う記号(演算子)は |

 でした。

 では、プログラムを動作させて確かめてみましょう。変数を宣言して、ローカル変数ウィンドウで値を見る方法(前々回行いました)でもいいのですが、せっかくシミュレータでLED表示できる環境をつくりましたので、今回はこれを使って視覚的に確認してみます。いったんPM plusに戻ってください。SM+はそのまま終了させなくてOKです。

 シフトの例題プログラムの時と同様に、ソースプログラムの入れ替えを行います。[ファイル]メニューから「新規作成」を選んで、図17のようなプログラムを入力してください。入力し終わったら、同じく[ファイル]メニューの名前を付けて保存を選んで、or.c というファイル名で保存します。

図17:論理和のテストプログラム
図17:論理和のテストプログラム

 ここまでできましたら、shift.cの時と同様にプロジェクトのソースファイルを入れ替えます。shift.cを削除して、今作成したor.cを追加してください。Projectウィンドウの表示が図18のようになればOKです。

図18:shift.cを削除してor.cを追加した
図18:shift.cを削除してor.cを追加した

 できましたら、早速ビルド→ディバグを行ってSM+で動作させてみましょう。図19はP2への初期値の代入が終わった段階の状態です。P2は5、つまり2進数では0101なのでLEDはP22とP20が点灯します。

図19:P2を5にした状態
図19:P2を5にした状態

 10行目は「論理和」演算です。3、つまり2進数で0011との論理和です。図20のように、

  • 最下位ビットP20は1と1の論理和で1
  • P21とP22は0と1(または1と0)の論理和で1
  • 最上位ビットP23は0と0の論理和で0

 となって、結果は0111になるはずです。

図20:5(0101)と3(0011)の論理和
図20:5(0101)と3(0011)の論理和

 では、もう1ステップ実行して結果を見てみましょう。LEDは図21のようになり、考察が正しかったことを確かめることができます。

図21:論理和の実行結果。0111になっている
図21:論理和の実行結果。0111になっている

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:たった5つのルールではじめるC言語開発

もっと読む

著者プロフィール

  • 舘 伸幸(タチ ノブユキ)

    NECマイクロシステム株式会社 勤務 NPO法人SESSAME 所属 開発ツールのソフトウェア開発を経て組込みソフトウェア開発に従事。プライベートにも半田ごては手放さない。 2006年からSESSAME に参加。若い世代に物を作る楽しさを伝えていきたい。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5