C言語⑧(2025/06/04)

論理演算子

種類は下記。

【例】
aが50以上100未満である
if(( 50 <= a )&&( a < 100))

bが0または1である
if(b == 0 || b == 1)

bが0でも1でもない(b が 0 または 1 である、の論理否定)
if(!(b == 0||b == 1) )

条件演算子(三項演算子)

ifの簡易版。
x = (条件式) ? a : b;
 条件式が真のとき:x に aの値 を代入
 条件式が偽のとき:x に bの値 を代入

【例】
x = ( 0 <= a && a <= 100) ? a : 0 ;

どういう条件で分岐したいのか、を整理して書いたうえで、どうやって簡略化していくか、を考えるとうまく使えるようになる。

n進数

プログラミングでは10進数、16進数がメインだが、フラグ管理などでは2進数を使うこともある。

2進数
【例】
8bit(1byte)
0000 0000 この各ビットをそれぞれ「フラグ」として使う(1=bitが“立ってる”と呼ぶこともある)

0000 0001
  or(論理演算)
0000 0100
  ||
0000 0101

(ビットシフト)
2進数ではビットを左(大きい桁の方)にシフトすると二倍になってゆく(2進数なので当然)。
0000 0001 ⇒ 1(10進数)
0000 0010 ⇒ 2(10進数)
0000 0100 ⇒ 4(10進数)

16進数
1byteを2桁で表せる(処理上も2^xで桁上がりなので都合がいい)
0 1 2 3 4 5 6 7 8 9 A B C D E F で桁上がり。
1111 1111
F F
⇒0xFF(10進数で255)
⇒0x0A(10進数で10)…等。

コメント

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