怎么用string比较高精度数字的大小
用C++
我想了好久都没有想到
和人比较的方法一样
首先,位数多的大。
位数一样的从最高位比,第一个不相同的位,谁大就是谁大。
如果有小数,再从小数点后第一位比。
int cmp(string s1, string s2)
{
if (s1.length() != s2.length()) return s1.length() - s2.length();
char * c1 = s1.c_str();
char * c2 = s2.c_str();
int i = 0;
while (c1[i] == c2[i] && c1[i + 1] != '\0') { i++;}
return c1[i] - c2[i];
}
用这个函数,如果返回>0,第一个大,小于0,第二个大,0表示相等。