C语言比较两个超大数的大小
时间: 2023-06-28 15:09:56 浏览: 60
在C语言中,比较两个超大数的大小可以使用字符串进行比较。具体步骤如下:
1. 将两个超大数转换成字符串形式。
2. 比较两个字符串的长度,长度较大的字符串代表的数就比较大。
3. 如果两个字符串长度相等,则比较每一位上的数字的大小,从高位到低位逐位比较,直到找到不同的数字或比较完所有位。
4. 如果所有位都相同,则这两个超大数相等。
下面是一个比较两个超大数大小的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 比较两个超大数的大小,返回值为1表示a>b,为-1表示a<b,为0表示a=b
int compare(char* a, char* b) {
int len1 = strlen(a);
int len2 = strlen(b);
if (len1 > len2) {
return 1;
} else if (len1 < len2) {
return -1;
} else {
int i;
for (i = 0; i < len1; i++) {
if (a[i] > b[i]) {
return 1;
} else if (a[i] < b[i]) {
return -1;
}
}
return 0;
}
}
int main() {
char a[] = "123456789012345678901234567890";
char b[] = "987654321098765432109876543210";
int result = compare(a, b);
if (result > 0) {
printf("a>b\n");
} else if (result < 0) {
printf("a<b\n");
} else {
printf("a=b\n");
}
return 0;
}
```