BIT型変数はどうして使用されるのでしょうか? ソースファイルの可読性が悪くなるように思えます

bit変数(SHORT INT)は大幅にRAMエリアを節約する効果があります。   次の例を見てください。:

	int x,y;
	short int bx, by;
	x=5;
	y=10;
	bx=0;
	by=1;
	x = (x+by)-bx*by+(y-by);

ここに示された例でbxとbyに使用されている算術演算子(+と−,*)がある場合、最初にbxとbyは byte(int)に拡張され、これはまずいことです。実行スピードとコードサイズを節約するためには次のように書き換えてみます。 例えば:

	z=by;
	x = (x+z)-bx*z+(y-z);

多少はましになりました(型変換の数が少なくなっている)が、やはりあまりよい形とはいえません。このような演算を行なわせるには、IF文でまずビット操作を行なった後、byte演算を行なわせます。勿論、IF文で使用される演算子は、&&、||、!が効果的です。 例を見てみます。:

	if (by || (bx && bz) || !bw)
		z=0;

!と~、&&と&、||と|の違いを思い出してください。   同様に、input()関数も返される値は、bit型です。これをif文で判定するには次の例を使用します。:

	if ( !input( PIN_B0 ) )

NOT:

	if( input( PIN_B0 ) == 0)
1の例はビット演算で処理され、2の例では、byte型へキャストされてから演算されますので悪い例です。 このように、プロセッサーの特色をいかしたコードを出力するように作成されたコンパイラーですから、なるべくコンパクトで実行スピードの速いソースコードを書くべきです。可読性はコードの書き方とコメント文でかなりカバーできます。