御茶義理の人の似非ブログ

-「御茶御茶からの新着情報ろぐせえぶ」-

☆普通の新着情報に戻る
☆西瓜料理
☆セーフコフィールド
☆アンコールワット
☆[ポルトガル]マディラ
☆AirH"プラン選択


☆新着コメント

20000501(cialis)
20000501(rington)
20060303(mandm)
20060108(Yuumi)
20060108(ばか)

☆リンク
☆連絡先
  • mixi
  • skypeID( GochaGiri-の人 )
    のを no に変換
    人を hito に変換

 前も書いたと思うけど、個人的に「紅茶物語」だと思います。紅茶の話しじゃないですけどね

2000/10/30
 地震が起きたときのぁぃぁぃの静まり方は異常(笑)、私の所は震度 3 でした。
 前も書いたと思うけど、個人的に「紅茶物語」だと思います。紅茶の話しじゃないですけどね
計算式の順序って恐ろしいよねぇ〜ってお話を昨日致しましたが、以下ようなことです。
ABCDEFG って変数の 0x10 ビットが立っているかどうかを調べるプログラムを作れ! って感じで作ったんですよ。それが、次式です

A = ( ABCDEFG & 0x10 == 0x10 )?1:0;
A には 1 , 0 どちらが入ると思います?

演算の優先順位では「論理演算」より 「評価」の方が優先され演算されます。で すので、以上の式では 0x10 = 0x10 が演算された後でその結果と & ABCDEFGH と なります。わかりやすく書きますと A = ( ABCDEFG & ( 0x10 == 0x10 ))?1:0; なります。
ですから、 0x10 == 0x10 は真なので C や Perl では 1 が返され ABCDEFG と And( 論理積 )を取るのは 0x01 となってしまい ABCDEFG の 0x10 ビットが立っていても、この式は「真」にならないので 0 が A には返ってしまいます。
 「論理演算」の優先順位も「算術演算」や「シフト演算」と同じように「評価」より優先されると思いこんでいたのですが「評価」の方が優先されるんですねぇ……
この式は正しくは
A = (( ABCDEFG & 0x10 ) == 0x10 )?1:0;
と明示的に囲んでやる必要があります。カッコやアロー演算子は最優先ですからね。小一時間悩んだよ〜
Becky ってエディタの色変えられるんですね、変えました。私の全てにおけるエディタ環境と同じように「背景:黒」と「文字:白」に変えました。長時間作業される方は絶対にこれに変えないと目がちらつきますよ。
 本日の気分:優先順位はタマゴより難しい(謎):40%

コメント

お名前
コメント
2000 年 10 月

1234567
891011121314
15161718192021
22232425262728
293031    

普通の新着情報に戻る

最新に戻る

マイクロアドBTパートナーでおこづかいゲット!

ログ
19989101112
1999123456789101112
2000123456789101112
2001123456789101112
2002123456789101112
2003123456789101112
2004123456789101112
2005123456789101112
2006123456789101112
2007123456789101112
2008123456789101112
2009123456789101112
2010123456789101112
2011123456789101112
2012123456789101112
2013123456789101112
2014123456789101112
2015123456789101112
2016123456789101112
2017123456789101112
201812345678


NY oil
RSS feed meter for http://www.majo.co.jp/cosplay/blog.cgi