« 久しぶりの講義 | メイン | マウスパッドから給電するマウス »

2006年01月11日

演算子の優先順序

細かいことだが、ビット単位でデータを扱うとき、論理積をとった結果を比較する、ということをよくやる。たとえばこんなかんじ。
-----
if ((a & 0x01) == 0)...
-----
ところが、論理積&と、等しいかの比較==は、==のほうが演算子の優先順序が、1つだけ高い。
http://www.u-gakugei.ac.jp/~miyadera/LECTURE/ElecBook2/ptech12.htm
ということは、カッコを1個省略して、こんなかんじで書くと、だめなわけだ。
-----
if (a & 0x01 == 0)...
-----
ビミョーだけど、けっこうハマりやすそうだな。

投稿者 akita : 2006年01月11日 11:27

トラックバック

このエントリーのトラックバックURL:
http://akita11.jp/mt/mt-tb.cgi/435

コメント

ですよね、はまりますよね。
ということで私は何でも括弧でくるむようにしてます。
ある程度優先順序がわかりやすくても。
括弧がすこし増えますが却ってわかりやすいかなと。

投稿者 もー : 2006年01月12日 23:57

ええ、学生にもそのように指導しています>括弧の多用

投稿者 akita : 2006年01月13日 07:40

コメントしてください




保存しますか?

(書式を変更するような一部のHTMLタグを使うことができます)