BigInt 类。加法、减法
我必须编写自己的类来对非常大的数字进行操作。已经添加:
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;
}
我抛出一个堆栈来反转顺序。
do {
fin[i++]= wyniki.top();
wyniki.pop();
} while (!wyniki.empty());
fin[i]=0;
string res(fin);
return DuzaLiczba(res);
}
现在尝试对两个数字进行减法和比较。 你知道如何做减法吗?
I have to write own class for operation on very big numbers. Already have adding:
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;
}
I throw a stack to reverse the sequence.
do {
fin[i++]= wyniki.top();
wyniki.pop();
} while (!wyniki.empty());
fin[i]=0;
string res(fin);
return DuzaLiczba(res);
}
Now trying to make substraction and comparison of the two numbers.
Have any idea how to make substraction?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要将 o 加到 k 上,而是将其减去。如果wynik < 0 之后,将 wynik 加 10 并将进位 (f) 设置为 -1。
Instead of adding o to k, subtract it. if wynik < 0 after that, add ten to wynik and set the carry (f) to -1.
伙计,我拥有你的啤酒。工作完美。
回来有问题。
在运算符重载中,我有:
在主要部分:
错误:分段错误
在 dl3.getData() 上
Man, I own u beer. Works perfectly.
Got prob with returning.
In operator overloading I have:
In main:
Error: Segmentation fault
on dl3.getData()