論理演算子
種類は下記。
【例】
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)…等。
コメント