int n に代入する際の暗黙のキャストと、100と比較する際に生ずるキャストが異なる理由がないだろう。
あるとすればfloatじゃなくて>>359