326. box paint

inaniwaさんがブログでビットシフトについて書かれていたのでちょっと調べてみました。


・数値の場合

main(){printf("%d %d %d",1<<32,2<<31,2<<-1);}
0 0 1

そのまま計算されている。


・変数の場合

a=1;b=32;c=2;d=31;e=2;f=-1;
main(){printf("%d %d %d",a<<b,c<<d,e<<f);}
1 0 0

&31されている。


よくわからない仕様だな〜。