%indent
////////////////////////////////////////////////////////////////
* 直接減算 [#e90ab932]
* 直接減算 [#hbbbefdb]
////////////////////////////////////////////////////////////////
** 1桁の減算 [#w9e28bc6]
** 1桁の減算 [#bdbdb358]
////////////////////////////////////////////////////////////////

;,1桁の減算は以下の4通り。
- $$ 1 $ - $ 0 $ = $ \,\,1 $$
- $$ 0 $ - $ 0 $ = $ \,\,0 $$
- $$ 1 $ - $ 1 $ = $ \,\,0 $$
- $$ 0 $ - $ 1 $ = $ ^-1 $$  (上位桁で繰り下がり)
                                                     
;,減数が$$ 0 $$の場合は被乗数のまま、減数が1の場合は被乗数が$$ 01 $$反転になる。
;,$$ 0 $ - $ 1 $$の場合は上位が繰り下がる。

////////////////////////////////////////////////////////////////
** 繰り下がり無し減算 [#zd96d26a]
** 繰り下がり無し減算 [#pd965806]

;,複数桁の減算は右から桁毎に減算する。
;,$$ 0 $$から$$ 1 $$を引かない限り、桁毎に順番に減算するだけで済む。

;,例1:
;,  $$   \phantom{\; +) \;\, }      1 \;\, 1 \;\, 1 \;\, 0 \;\, \;\, 0 \;\, 1 \;\, 1 \;\, 0 \;  $$
;,  $$ \underline{\; -) \;\,        1 \;\, 0 \;\, 0 \;\, 0 \;\, \;\, 0 \;\, 1 \;\, 0 \;\, 0 \;} $$
;,  $$   \phantom{\; +) \;\, 1 \;\,   }    1 \;\, 1 \;\, 0 \;\, \;\, 0 \;\, 0 \;\, 1 \;\, 0 \;  $$

////////////////////////////////////////////////////////////////
** 繰り下がり付き減算 [#v36b343f]
** 繰り下がり付き減算 [#b6ddf270]

;,$$ 0 $$から$$ 1 $$を引く場合、繰り下がるために左の桁を影響する。
;,繰り下がる場合は、被減数を上位方向に辿り、最初の$$ 1 $$まで反転させる。

;,例2:
$$$
  \begin{array}{rllll}
                 &  \1 &  \1  \>\, 0 \>\, 0 \>\, \1 \>\, &  \0 \>\, 0 \>\, 0 \>\, \1 \>\, &  0 \>\, 1 \>\, 1 \>\, 0 \>\,
    \\        -) &     &   1  \>\, 0 \>\, 0 \>\,  0 \>\, &   0 \>\, 1 \>\, 0 \>\,  0 \>\, &  1 \>\, 1 \>\, 0 \>\, 0 \>\,
    \\ \hline    &     &   1  \>\, 0 \>\, 0 \>\,  0 \>\, &   1 \>\, 1 \>\, 0 \>\,  0 \>\, &  1 \>\, 0 \>\, 1 \>\, 0 \>\,
  \end{array}
$$$


;,  $$   \phantom{\; +) \;\, }                 \overline1 \;\, \;\, \overline1 \;\, 0 \;\, 0 \;\, \overline{1 \;\, \;\,  0} \;\, 0 \;\, 0 \;\, \overline1 \;\, \;\, 0 \;\, 1 \;\, 1 \;\, 0  \;  $$
;,  $$ \underline{\; -) \;\, \phantom{1 \;\, }                 \;\,          1 \;\, 1 \;\, 0 \;\,           0 \;\, \;\,  0  \;\, 1 \;\, 0 \;\,          0 \;\, \;\, 1 \;\, 1 \;\, 0 \;\, 0  \;} $$
;,  $$   \phantom{\; +) \;\,          1 \;\, }                 \;\,          1 \;\, 1 \;\, 0 \;\,           0 \;\, \;\,  1  \;\, 1 \;\, 0 \;\,          0 \;\, \;\, 1 \;\, 0 \;\, 1 \;\, 0  \;  $$

$$ \0 $$と$$ \1 $$はそれぞれ$$ 0 $$と$$ 1 $$の反転を表し、$$ 1 $$と$$ 0 $$を意味する。

////////////////////////////////////////////////////////////////
** 繰り下がりによる負の数 [#p1cba7e3]
** 繰り下がりによる負の数 [#i731a51b]

;,繰り下がりで被減数を上位方向に辿っても$$ 1 $$が無い場合、負の数となる。
;,負の数は、先頭に$$ 1 $$を卸して、繰り下がりで無数に連なる$$ 1 $$を表す$$ \cdots $$を前に付ける。

;,例3:
$$$
  \begin{array}{rllll}
                     &     &  1  \>\,  1 \>\, \0 \>\,  0 \>\, &   0 \>\,  1 \>\, \0 \>\,  0 \>\, &  \1 \>\, \1 \>\,  0 \>\,  0 \>\,
    \\        -)     &   1 &  1  \>\,  0 \>\,  0 \>\,  1 \>\, &   0 \>\,  0 \>\,  0 \>\,  1 \>\, &   0 \>\,  1 \>\,  1 \>\,  0 \>\,
    \\ \hline \cdots &   1 &  0  \>\,  1 \>\,  1 \>\,  1 \>\, &   0 \>\,  1 \>\,  1 \>\,  1 \>\, &   0 \>\,  1 \>\,  1 \>\,  0 \>\,
  \end{array}
$$$

;,  $$             \phantom{\; +) \;\, } \phantom{1 \;\,\, }        \;\, 1 \;\, 1 \;\, \overline0 \;\, 0 \;\, \;\,  0 \;\, 1 \;\, \overline0 \;\,        0 \;\, \;\, \overline1 \;\, \overline1 \;\, 0 \;\, 0  \;  $$
;,  $$ \underline{          \; -) \;\,                  \,   1 \;\, \;\, 1 \;\, 0 \;\,          0 \;\, 1 \;\, \;\,  0 \;\, 0 \;\,          0 \;\,        1 \;\, \;\,          0 \;\,          1 \;\, 1 \;\, 0  \;} $$
;,  $$             \phantom{\;    \;   } \cdots              1 \;\, \;\, 0 \;\, 1 \;\,          1 \;\, 1 \;\, \;\,  0 \;\, 1 \;\,          1 \;\,        1 \;\, \;\,          0 \;\,          1 \;\, 1 \;\, 0  \;  $$

////////////////////////////////////////////////////////////////
* 反数減算 [#w4f800c6]
* 反数減算 [#e1f2fec0]

;,$$ 1 $$からの減算は反転で簡単に求まるため、
;,$$ a $ - $ b $ = $ ( $ a $ + $ 1 $ ) $ + $ ( $ -1 $ - $ b $ ) $$を利用して減算を加算として高速に解ける。
;,$$ -1 $$は補数表現で無数の$$ 1 $$が並ぶので、$$ -1 $ - $ b $$は$$ b $$の反転$$ \overline{\,b\,} $$となる。

例4:

;,  $$   \phantom{\; +) \;\,         \cdots\,} 1   \;\,\;\,         1 \;\, 0 \;\, 0 \;\, 1  \;\, \;\,         0 \;\, 0 \;\, 0 \;\, 1  \;\, \;\,         0 \;\, 1 \;\, 1 \;\, 0         \;  $$    …… $$  a $$
;,  $$ \underline{\; -) \;\,\phantom{\cdots\,  1 } \;\,\;\,         1 \;\, 1 \;\, 0 \;\, 0  \;\, \;\,         0 \;\, 1 \;\, 0 \;\, 0  \;\, \;\,         1 \;\, 1 \;\, 0 \;\, 0         \;} $$    …… $$  b $$
;,  $$   \phantom{\; +) \;\,         \cdots\,} 1   \;\,\;\,         1 \;\, 0 \;\, 0 \;\, 1  \;\, \;\,         0 \;\, 0 \;\, 0 \;\, 1  \;\, \;\,         0 \;\, 1 \;\, 1 \;\, \iro[ak]1 \;  $$    …… $$  a $ + $ 1 $$
;,  $$ \underline{\; +) \;\,         \cdots    1   \;\,\;\,         0 \;\, 0 \;\, 1 \;\, 1  \;\, \;\,         1 \;\, 0 \;\, 1 \;\, 1  \;\, \;\,         0 \;\, 0 \;\, 1 \;\, 1         \;} $$    …… $$ -1 $ - $ b $ = $ \overline{\,b\,} $$
;,  $$   \phantom{\; +) \;\,         \cdots    1 } \;\,\;\,         1 \;\, 1^{1  }0^{1\,}0  \;\, \;\,         1 \;\, 1^{1  }0^{1\,}0  \;\, \;\,         1^{1  }0^{1\,}1^{1  }0         \;  $$

;,上位で$$ 1 $$と$$ \cdots $ 1 $$が無限に繰り上がって$$ \cdots $ 0 $$になる。


;,反転表記を見慣れたら、反転バーの追記で簡潔に記述できる。

例5:
;,  $$   \phantom{\; +) \;\,         \cdots\,} 1   \;\,\;\,             1 \;\, 0 \;\, 0 \;\, 1  \;\, \;\,           0 \;\, 0 \;\, 0 \;\, 1   \;\, \;\,           0 \;\, 1 \;\, 1 \;\, \overline0  \;          $$    …… $$  a $ + $ 1 $$
;,  $$ \underline{\; \ooalign{\(-\)\crcr{\,/}}) \;\,\overline{\cdots\,  0 } \;\,\;\, \overline{1 \;\, 1 \;\, 0 \;\, 0} \;\, \;\, \overline{0 \;\, 1 \;\, 0 \;\, 0}  \;\, \;\, \overline{1 \;\, 1 \;\, 0 \;\,          0} \;}         $$    …… $$ -1 $ - $ b $ = $ \overline{\,b\,} $$
;,  $$   \phantom{\; +) \;\,         \cdots    1 } \;\,\;\,             1 \;\, 1^{1  }0^{1\,}0  \;\, \;\,           1 \;\, 1^{1  }0^{1\,}0   \;\, \;\,           1^{1  }0^{1\,}1^{1  }         0  \;          $$

;,結果が負になる場合、上位での無限繰り上がりが無く、$$ \cdots $ 1 $$が結果まで降りる。

例6:
;,  $$             \phantom{\; +) \;\,          \cdots\, 0 \;\,   1 } \;\,\;\,         1 \;\, 1 \;\, 0 \;\, 0  \;\, \;\,         0 \;\, 1 \;\, 0 \;\, 0  \;\, \;\,         1 \;\, 1 \;\, 0 \;\,         0 \;  $$
;,  $$ \underline{          \; -) \;\, \phantom{\cdots\, 0 \;\, } 1   \;\,\;\,         1 \;\, 0 \;\, 0 \;\, 1  \;\, \;\,         0 \;\, 0 \;\, 0 \;\, 1  \;\, \;\,         0 \;\, 1 \;\, 1 \;\,         0 \;} $$
;,  $$             \phantom{\; +) \;\,          \cdots\, 0 \;\,   1 } \;\,\;\,         1 \;\, 1 \;\, 0 \;\, 0  \;\, \;\,         0 \;\, 1 \;\, 0 \;\, 0  \;\, \;\,         1 \;\, 1 \;\, 0 \;\, \iro[ak]1 \;  $$
;,  $$ \underline{          \; +) \;\,          \cdots\, 1 \;\,   0   \;\,\;\,         0 \;\, 1 \;\, 1 \;\, 0  \;\, \;\,         1 \;\, 1 \;\, 1 \;\, 0  \;\, \;\,         1 \;\, 0 \;\, 0 \;\,         1 \;} $$
;,  $$             \phantom{\; +) \;\, }        \cdots\, 1 \;\,   1 ^{1  }\;\,         0^{1\,}0 \;\, 1 \;\, 1^{1  } \;\,         0^{1\,}0 \;\, 1 \;\, 1^{1  } \;\,         0 \;\, 1 \;\, 1^{1\,}        0 \;  $$








    数学 一覧 検索 最新 バックアップ リンク元   ヘルプ   最終更新のRSS