パペットさんが 3 桁の二進数で 0 から 7 まで表現できる事 を示しました。 3桁の各桁を a b c としますね。 この場合 0 から 7 ってのは a * 4 + b * 2 + c で計算できます。 000(二進数)の場合 a=0 b=0 c=0 なので 0 * 4 + 0 * 2 + 0 = 0 つまり 0 111(二進数)の場合 a=1 b=1 c=1 なので 1 * 4 + 1 * 2 + 1 = 7 つまり 7 って感じ。 ところがこの方法だと負の整数を表せない。 負の整数を表すには、一番左の桁にかける数を負にして a * -4 + b * 2 + c と解釈することになってます。 111(二進数)の場合 a=1 b=1 c=1 なので 1 * -4 + 1 * 2 + 1 = -1 つまり -1