C言語なら私に聞け(33)
■ このスレッドは過去ログ倉庫に格納されています
0231220
NGNGこんな感じの文を書いてる。
unsigned char *p;
unsigned long a;
:
a |= *p >> (32 - s); // 0 <= s <= 32
s=1〜32のときは期待通り動くのが、s=0のときだけ0にならず驚いた。
>>223
こんな夜中にレスつけてくれただけでも有難う。
いろいろ検索してるうちにこの症状について書いてあるページを見つけた。
どうやらこれは処理系依存らしいが、ANSI Cでもそう定められてるのだろうか。
ttp://www.biwa.ne.jp/~chu0296/laboratory/cpp.html
■ このスレッドは過去ログ倉庫に格納されています