C# – 演算子

C#

色々な演算子の説明

算術演算子

演算子働き使い方意味
+加算 a = b + c b と c を足した値を a に代入
減算 a = b – c b から c を引いた値を a に代入
*乗算 a = b * c b と c を掛けた値を a に代入
/除算 a = b / c b を c で割った値を a に代入
%余り a = b % c b を cで割った余りを a に代入

代入演算子

演算子働き使い方意味
=代入 a = b b の値を a に代入
+=加算して代入 a += b a = a + b と同じ
-=減算して代入 a – = b a = a – b と同じ
*=乗算して代入 a * = b a = a * b と同じ
/=除算して代入 a /= b a = a / b と同じ
%=余りを代入 a %= b a = a % b と同じ

インクリメント演算子

演算子種類使い方意味
++前置  x = ++a; aを+1した後 x に代入
後置  x = a++; xにaを代入した後に aを+1

デクリメント演算子

演算子種類使い方意味
前置 x = –a; aを-1した後 x に代入
後置 x = a–; xにaを代入した後に aを-1

比較演算子

演算子使い方意味
== a == b a と b が等しい
!= a != b a と b が等しくない
< a < b a が b より小さい
> a > b a が b より大きい
<= a <= b a が b 以下
>= a >= b a が b 以上

条件が 成立した 場合は  bool型の「 true (真、OK )」、成立しない場合は 「 false(偽、NG)」を返す。

論理演算子

演算子働き使い方意味
&AND  ( a >= 10 ) & ( a < 50 )10以上 かつ 50未満
|OR ( a == 10 ) | ( a ==100 )10 か 100
^XOR  ( a == 10 ) ^ ( b ==10 ) どちらかだけ 10
!NOT ! ( a == 10 ) 10でない。
~補数sbyte a = ~10 a は -11

排他的論理和(XOR)

補数

10 は sbyte型の 2進数で表すと(0000 1010)  で 補数は
  ~ (0000 1010) = (1111 0101)
で、(1111 0101) を 10進数に直すと -11 となります。

短絡評価

演算子働き使い方意味
&&AND ( a >= 10 ) && ( a < 50 )10以上 かつ 50未満
||OR ( a == 10 ) || ( a ==100 )10 か 100

& と | には 短絡評価である && と || があります。

( a >= 10 ) && ( a < 50 ) の 場合 ( a >= 10 ) が false であれば  ( a < 50 ) を評価せず false を返します。 つまり 評価の為の判定を省略します。

また、( a == 10 ) || ( a ==100 ) の 場合 ( a == 10 ) が true の場合 ( a ==100 ) を評価せず true を返します。

シフト演算子

演算子働き使い方意味
<<左シフト a = 10 << 1 10 を左に1つシフト。a は 20になる
>>右シフト a = 10 >> 1 10 を右に1つシフト。a は 5になる

10 を8ビットの2進数 として表記すると (0000 1010)
1つ左シフトとは 左に 1 の位置をずらす(0001 0100)= 20(10進数)
1つ右シフトとは 右に 1 の位置をずらす(0000 0101)=  5(10進数)

コメント

タイトルとURLをコピーしました