- 関数名
mpCmp 多倍長整数同士の大小比較
- 形式
int mpCmp(int *a, int *b);
- 引数
a, b 多倍長整数
- 関数値
aはbよりも大きい場合は正の値、小さい場合は負の値、
等しい場合はゼロの値
- 注意事項
- 配列の各要素 ai(i は 1 以上)は1語を表し、
1語で表し得る最大の整数は 9999 とする。語の長さは a0
の値で表す。すなわち、多倍長整数は
anKn-1+
an-1Kn-2+...+a2K+
a1
で表現する。ただし、K=10000、n=a0。
- 用例(mpCmp-test.c)
- プログラム(mpCmp.c)
int mpCmp(int *a, int *b)
{
int *aa;
if (*a != *b) return *a - *b;
aa = a;
a += *aa;
b += *aa;
while (a != aa) {
if (*a != *b) return *a - *b;
a--;
b--;
}
return 0;
}
- 説明
- 語数の大きさをまず比べる。同じ語数ならば、上位語より順に比べて
いけばよい。
- 関連関数
-
多倍長整数の加算、
多倍長整数の減算、
多倍長整数の乗算、
多倍長整数の除算、
多倍長整数の平方根、
数列を多倍長整数に変換する、
多倍長整数を数列に変換する、
long整数を多倍長整数に変換する、
多倍長整数をlong整数に変換する