SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

論理演算の様子を観察

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


  • X ポスト
  • このエントリーをはてなブックマークに追加

論理和(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になっている

次のページ
普通の加算演算と比べてみよう

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
たった5つのルールではじめるC言語開発連載記事一覧

もっと読む

この記事の著者

舘 伸幸(タチ ノブユキ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3727 2009/03/26 18:01

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング