階差機関
バベッジの階差機関では、負の数を10の補数で表現する。そのようにして、減算を負数の加算として計算できる(補数#補数を利用した減算)。これは、現代のコンピュータが負数を2の補数で表現しているのと全く同じである。
キャリーレバーが動くと、カラムの背後にある螺旋状のアームにその動きが伝わり、それによって1つ上の桁に1が加算される。この加算によってさらにキャリーが発生することもあるため、アームが螺旋状になっている。同時に部分歯車が元の位置に戻り、それに連動して偶数カラムの各歯車が元の位置に戻される。部分歯車は一方が幅広くなっており、ステップ2ではそれを上下にずらすことで(幅が狭い方とかみ合っている)奇数カラムには動きを伝達しない。
多項式ではないが無限回微分可能な関数の場合、それをテイラー級数のような冪級数で表せる。その初期値は任意の精度で計算できる。正しく初期値を設定すれば、階差機関は最初のN個については正確な結果を返し、それ以降についてはその関数の近似値を生成することになる。
テイラー級数は、関数をその導関数の和で表現したものである。多くの関数において、導関数が高次になるほど級数全体に与える影響は些細になっていく。正弦関数は、0における導関数の値が常に0または + / − 1 {\displaystyle +/-1} となる。計算の始点を0とすると単純化したマクローリン級数は次のようになる。
∑ n = 0 ∞ f ( n ) ( 0 ) n ! ( x ) n {\displaystyle \sum _{n=0}^{\infty }{\frac {f^{(n)}(0)}{n!}}(x)^{n}}
多項式関数で係数から初期値を計算した方法がここでも適用できる。この式を多項式に展開したときの係数は次のようになる。
a n ≡ f ( n ) ( 0 ) n ! {\displaystyle a_{n}\equiv {\frac {f^{(n)}(0)}{n!}}}