Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ BigInt类。加、减_C++_Class_Operators_Biginteger - Fatal编程技术网

C++ BigInt类。加、减

C++ BigInt类。加、减,c++,class,operators,biginteger,C++,Class,Operators,Biginteger,我必须编写自己的类来处理非常大的数字。已添加: char index1 = liczba1.length(); char index2 = liczba2.length(); stack<char> wyniki; while (index1 > 0 || index2 > 0) { index1--; index2--; k = 0; o = 0; k = index

我必须编写自己的类来处理非常大的数字。已添加:

 char index1 = liczba1.length();
    char index2 = liczba2.length();



stack<char> wyniki;
    while (index1 > 0 || index2 > 0) {
        index1--;
        index2--;
        k = 0;
        o = 0;
        k = index1 < 0 ? 0 : (liczba1[index1] - 48);
        o = index2 < 0 ? 0 : (liczba2[index2] - 48);

    wynik = k + o + f;
    if (wynik > 9) {
        wynik -= 10;
        f = 1;
    } else {
        f = 0;
    }
    wyniki.push(wynik+48); //
}
short i=0;
if (f > 0){
    fin[i++] = f;
}
现在尝试对这两个数字进行减法和比较。
你知道怎么做减法吗?

与其把o加在k上,不如把它减去。如果在此之后wynik<0,则向wynik添加10,并将进位(f)设置为-1

伙计,我有你的啤酒。工作完美

回来有问题

在运算符重载中,我有:

do {
    fin[i++]= wyniki.top();
    wyniki.pop(); //zdejmujemy z stosu
} while (!wyniki.empty()); //az nie bedzie empty
fin[i]=0;
string res(fin);
cout << res(fin);
return DuzaLiczba(res);
do{
fin[i++]=wyniki.top();
wyniki.pop();//zdejmujemy z stosu
}而(!wyniki.empty())//阿兹尼贝齐空
fin[i]=0;
字符串res(fin);

这是家庭作业吗?否则,你可以使用GMP。也许你只需要实现一个XyczeFuzba,并确保waryfuczlys和winitykis是正确的?fin是什么?你似乎是零终止它。但是,如果它可以包含零字节作为数据,那就没有意义了。fin是一个字符数组,它保存加法的最终结果。有趣的变量名几乎可以肯定是因为程序员不是以英语为母语的人。@levis501:我都知道了,谢谢。也许你应该在回答之前读一下我的评论。
do {
    fin[i++]= wyniki.top();
    wyniki.pop(); //zdejmujemy z stosu
} while (!wyniki.empty()); //az nie bedzie empty
fin[i]=0;
string res(fin);
cout << res(fin);
return DuzaLiczba(res);
DuzaLiczba dl1(liczba1);
DuzaLiczba dl2(liczba2);
DuzaLiczba dl5 = dl1-dl2;
DuzaLiczba dl3 = dl1+dl2;

temp1 = dl3.getData();
cout<<temp1;