余剰

-10を4で割った余りは? って聞かれたら2って答えるのが常識だよねっ*1
と思ってたんだけどさ

printf("(-10) %% 4 = %d\n", (-10) % 4);


結果:
(-10) % 4 = -2

これのせいでOutputStreamのサイズ指定に負数渡しちゃったんだけど

*1:例えば3で割ったときの余りを考えると、-1でも2でも同じ意味合を持つ。だから、余りと言った場合には 0≦余り<割る数 と定義する。そーすると負の数の余りも正の数で表されることになる、 ってすーがくのせんせーが言ってた