直接減算
直接減算
1桁の減算
1桁の減算 1桁の減算は以下の4通り。 減数がの場合は被乗数のまま、減数が1の場合は被乗数が反転になる。
の場合は上位桁が下がる。
の場合は上位が繰り下がる。
繰り下がり無し減算
繰り下がり無し減算 複数桁の減算は右から桁毎に減算する。
からを引かない限り、桁毎に順番に減算するだけで済む。 例1:
繰り下がり付き減算
繰り下がり付き減算
からを引く場合、繰り下がるために左の桁を影響する。
繰り下がる場合は、被減数を上位方向に辿り、最初のまで反転させる。
からを引く場合、桁が下がるので左の桁を影響する。
桁下がる場合は、被減数を上位方向に辿り、最初のまで反転させる。
例2:
#spanend &spanadd; \begin{array}{rllll}&spanend; &spanadd; & \1 & \1 \>\, 0 \>\, 0 \>\, \1 \>\, & \0 \>\, 0 \>\, 0 \>\, \1 \>\, & 0 \>\, 1 \>\, 1 \>\, 0 \>\,&spanend; &spanadd; \\ -) & & 1 \>\, 0 \>\, 0 \>\, 0 \>\, & 0 \>\, 1 \>\, 0 \>\, 0 \>\, & 1 \>\, 1 \>\, 0 \>\, 0 \>\,&spanend; &spanadd; \\ \hline & & 1 \>\, 0 \>\, 0 \>\, 0 \>\, & 1 \>\, 1 \>\, 0 \>\, 0 \>\, & 1 \>\, 0 \>\, 1 \>\, 0 \>\,&spanend; &spanadd; \end{array}&spanend; #spanadd /home/limg/www/LimgMath/eq! You can't use `macro parameter character #' in math mode.
\displaystyle \mathstrut ##
spanend &spanadd; \begin {array}{rlll...
l.17 \end{align*}
とはそれぞれとの反転を表し、とを意味する。とはそれぞれとの反転を表し、とを意味する。
繰り下がりによる負の数
繰り下がりによる負の数 繰り下がりで被減数を上位方向に辿ってもが無い場合、負の数となる。
負の数は、先頭にを卸して、繰り下がりで無数に連なるを表すを前に付ける。 例3: #spanend &spanadd; \begin{array}{rllll}&spanend; &spanadd; & & 1 \>\, 1 \>\, \0 \>\, 0 \>\, & 0 \>\, 1 \>\, \0 \>\, 0 \>\, & \1 \>\, \1 \>\, 0 \>\, 0 \>\,&spanend; &spanadd; \\ -) & 1 & 1 \>\, 0 \>\, 0 \>\, 1 \>\, & 0 \>\, 0 \>\, 0 \>\, 1 \>\, & 0 \>\, 1 \>\, 1 \>\, 0 \>\,&spanend; &spanadd; \\ \hline \cdots & 1 & 0 \>\, 1 \>\, 1 \>\, 1 \>\, & 0 \>\, 1 \>\, 1 \>\, 1 \>\, & 0 \>\, 1 \>\, 1 \>\, 0 \>\,&spanend; &spanadd; \end{array}&spanend; #spanadd /home/limg/www/LimgMath/eq! You can't use `macro parameter character #' in math mode.
\displaystyle \mathstrut ##
spanend &spanadd; \begin {array}{rlll...
l.17 \end{align*}
反数減算
反数減算 からの減算は反転で簡単に求まるため、
を利用して減算を加算として高速に解ける。
は補数表現で無数のが並ぶので、はの反転となる。 例4: ……
……
……
……
上位でとが無限に繰り上がってになる。
反転表記を見慣れたら、反転バーの追記で簡潔に記述できる。
なお、減数の上位は反転で無数のが連なるが、例5:
……
……
結果が負になる場合、上位での無限繰り上がりが無く、が結果まで降りる。例6:
|