ぼるじょあがC/C++の宿題を片付けますYO! 39代目

このエントリーをはてなブックマークに追加
8911/2
[1] 授業単元: C言語入門
[2] 問題文:(1)減算関数(sub)の動作原理(なぜこのやりかたで減算が
  できるのか)について説明せよ。(下に示すプログラム)
  (2)除算のアルゴリズムを考えてわかりやすく示せ。
  Cのプログラムを書く必要はないが,アルゴリズムの説明に加えて
  それをプログラムとして実装した場合は評価する。
  ただし,プログラムのみの提出は認めない。

(1)の減算のアルゴリズム

void neg (int x[], int a[]) {
int carry = 1;
int i;
for (i = 0; i< SIZE; i++) {
int z = BASE - 1 -x[i] + carry;
a[i] = z % BASE;
carry = z / BASE;
}
}


void sub (int x[], int y[], int a[]) {
static int z[SIZE];
neg(y, z);
add(x,y,a);
8922/2:05/02/04 00:54:28
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C
[4] 期限:2005年2月7日8:00まで のいずれか
[5] その他の制限:(1)はx+(-y)=x-yという解答ではなく、どのような過程を経て
その状態までたどり着いたかの説明が求められています。(2)はa / b;という答え
では駄目だそうです。お願いします。