>>653
ん、まあ別にいいとは思うけど。

符号ビットをわざわざ処理してるのは、
負の値が2の補数形式でない場合でも、
2の補数形式として出力するようにするため?

あと、

if (dec & (2 << (i-1) )) bin[i] = 1;

は

if (dec & (1 << i)) bin[i] = 1;

にしない理由はあるの?

あと出力時に文字列を生成してから出力してるけど、
putchar で随時出力しないのはデバッガ云々のため?