そこで、該当部分、printf( "%d\t%d\n", j, 1 >> j );の機械語の出力を見ると(CL7.1)
mov eax,1
mov ecx,dword ptr [j]
sar eax,cl
push eax
mov ecx,dword ptr [j]
push ecx
push offset string "%d\t%d\n" (42401Ch)
call @ILT+1170(_printf) (411497h)
add esp,0Ch

ここの、「sar eax,cl」がShift Alothmeric Rightで右シフトをしている部分と思われます。
機械語には詳しくないので、このsar命令のclが32以上の時の挙動が詳しく分かりません。
また、この命令は16bitや64bitのCPUでは挙動が変化するのでしょうか?

長くなってしまったのでまとめます。
・i386互換プラットフォーム上のCLとgccにおいて、1>>32が1となってしまうのは定義されていない動作でよろしいでしょうか?
・すれ違いかもしれませんが、問題となっているsar命令の挙動を教えてくれますでしょうか?