Linux講座にようこそ。このページは「C言語プログラミング入門 - 第5章.いろいろな演算子」です。

C言語プログラミング入門

5. いろいろな演算子(2/2)

5.3 その他の演算子

今まで説明していない演算子と、ポインタの操作に関する演算子以外の演算子を下表にまとめました。ビット演算子を使う機会は少ないかもしれませんが、機器制御などの分野のプログラムでは使うことがあるかもしれません。

【表5-1】その他の演算子一覧
区分演算子意味例題
ビット&ビットごとの論理積(AND)int型の変数dataの右端の8ビットを取り出します。
bit8 = data & 0x000000ff;
|ビットごとの論理和(OR)int型の変数dataの右端の8ビットを1にします。
bit8 = data | 0x000000ff;
^ビットごとの排他的論理和(XOR)int型の変数dataを0にします。
data = data ^ data;
~ビットごとの反転(NOT)int型の変数dataのビットを反転します。
data = ~data;
<<ビットの左シフトint型の変数dataの値を2倍にします。
data = data << 1;
>>ビットの右シフトint型の変数dataの値を半分にします。
data = data >> 1;
サイズsizeof()型名や変数のサイズ(バイト数)を求めるint型のサイズを求めます。
length = sizeof(int);
型変換
(キャスト)
()括弧内に指定した型名に変換int型の変数dataの値をdouble型に変換します。(変数kotaeとataiはdouble型とします)
kotae = atai * (double)data;
順次実行,複数の式を順次実行int型の変数にそれぞれの値を代入します。右辺の式の値は最後の式の式の値になりますので、変数atai1の値は3になります。
atai1 = (atai2 = 1, atai3 = 2, atai4 = 3);