int val = 0x12345678 ; printf("%X¥n",val << ) ; printf("%X¥n",val << ) ; /*↑BUG !! */ printf("%X¥n",val >> ) ; printf("%X¥n",val >> ) ; /*↑BUG !! */
解説 32bitシフトすると結果は、不定になります。 詳細な説明は、 『プログラミング言語C 第2版 ANSI規格準拠 カーニハン リッチー著/石田晴久訳』 「付録A7.8 シフト演算子」Page253 を参照して下さい。