TRUEとFALSE、コンパイラーはどのように決定するのでしょうか?
バイトやワードの評価で 0 か 1が返されます。例えば:
同様に次の式の評価はどうなるでしょう。例えば:
これは次のプログラムを同じ結果を得ます:
SHORT INT型(bit変数)も0か1をとりますので、式の中で同じように使用できますので、結果は式で0の時はFALSE(又は、0)、さもなくばTRUE(又は、1)です。
例えば、bit型の変数が変化します:
bytevar = 5 > 0; //bytevarは1です。
bytevar = 0 > 5; //bytevarは0です。
bytevar = (x > y)*4;
if( x > y )
bytevar=4;
else
bytevar=0;
bytevar = 54;
bitvar = bytevar; //bytevarは54なのでbitvarは1
if(bytevar) // 条件はTRUE
bytevar = 0;
bitvar = bytevar; //bytevarが 0になったのでbitvarも 0