SHOEISHA iD

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

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

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

たった5つのルール

変数と演算子


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

知っておくべき演算子は4種類

 変数は、それだけあってもただの入れ物にしかなりません。実際にプログラムの中では変数同士または変数と定数の間で演算(計算)をさせることが必要になります。この演算を指示するのに使うのが演算子と呼ばれる記号です。

 以下、マジカルボックスのプログラムで使用するものを順に説明します。全部で4種類あります。

四則演算

 加減算と乗除算です。

四則演算子
+ 加算
- 減算
* 乗算。算数では×記号を使いますが、C言語では*(アスタリスク)を使います。ただし、今回マジカルボックスでは使用していません
/ 除算。本当は使いたくなかったのですが、やむをえず1カ所だけ使っています(プチ解説参照)
プチ解説:乗除算

 78K0S/KA1+のような小規模のマイコンは、一般に乗除算をする回路を搭載していません。加算回路のみで。減算は、先に説明した2の補数を求めて加算することで実現しています。

 このため、このようなマイコンでは乗除算は純粋にソフトウェアで処理します。普通はコンパイラが演算ライブラリとして持っていて、乗除算の使用を判断してライブラリから必要な処理ルーチンを実行プログラムに内蔵してくれます。

 ソフトウェアでの処理になるので、どうしても実効速度が遅い(処理が重いという表現がよく使われる)という問題があります。

 さらに、ライブラリは汎用的に使えるようにできているので、実行プログラムのサイズを大きくしてしまいがちです。

 このようなこともあり、組込みソフトウェア、特に小さなマイコンを使った小規模なものでは、プログラミング時にできるだけ乗除算を使わなくて済むように工夫するのが一般的です。

代入

 定数や演算結果を変数に代入するときは、=を使います。以下の例は、変数tempに5という値を代入することを意味します。

char  temp;
      temp = 5;

 変数tempの値を+1したいときは、以下のように記述します。

temp = temp + 1;

 記号は同じでも、算数で習う「等式」とは意味が異なりますので注意してください。

比較

 2つの値を比較するときに使います。これはこのあとに勉強する、ループ文や条件判断文で使用します。

比較演算子
<、<= 大小比較
== 等しいかどうか
!= 等しくないかどうか

 これらを使って、以下のように表現します。

x < y   xがyよりも小さいとき、この条件が成立します
x <= y  xがyよりも小さいか、等しいとき、この条件が成立します。
x == y  xとyが等しいとき、この条件が成立します。
x != y  xとyが等しくないとき、この条件が成立します。

 さらに具体的な使用例は、この次の回以降に説明するループや条件判断のところで説明します。

ついでに覚えておこう

 <、<=には、向きが逆の演算子もあります。つまり>と>=です。それぞれ以下のように動作をします。

x > y   xがyよりも大きいとき、この条件が成立します
x >= y  xがyよりも大きいか、等しいとき、この条件が成立します。

次のページ
組込みでは論理演算をよく使う

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

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

もっと読む

この記事の著者

舘 伸幸(タチ ノブユキ)

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング