本文整理汇总了C++中BigNumber::Count方法的典型用法代码示例。如果您正苦于以下问题:C++ BigNumber::Count方法的具体用法?C++ BigNumber::Count怎么用?C++ BigNumber::Count使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BigNumber
的用法示例。
在下文中一共展示了BigNumber::Count方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
//------------------------------------------------------------------------------
int BigNumber::operator < (BigNumber x2) {
TNode *temp1;
TNode *temp2;
int status;
if (Count()<x2.Count())
return 1;
else if (Count()>x2.Count())
return 0;
else {
temp1=root;
temp2=x2.root;
for (;;) {
if ( (temp1->data) < (temp2->data) ) {
status=1;
break;
}
temp1=temp1->next;
temp2=temp2->next;
if (temp1==NULL || temp2==NULL) {
status=0;
break;
}
}
return status;
}
}
示例2:
//------------------------------------------------------------------------------
BigNumber operator * (BigNumber x1, BigNumber x2) {
BigNumber *array;
BigNumber temp,summa;
summa.AddAfter(summa.root,0);
TNode *temp_x2;
List list;
if (x1.Count()<x2.Count()) {
temp=x1;
x1=x2;
x2=temp;
}
array=new BigNumber[x2.Count()];
temp_x2=x2.last;
for (int i=0;i<x2.Count();i++) {
array[i]=x1.mult(temp_x2->data);
array[i].AddZeroes(i);
temp_x2=temp_x2->prev;
}
for (int i=x2.Count()-1;i>=0;i--)
summa=summa+array[i];
//delete array;
// return summa;
return array[0];
}
示例3: exit
//------------------------------------------------------------------------------
BigNumber operator+ (BigNumber x1, BigNumber x2) {
int carry=0;
int result;
BigNumber temp;
FIFO fifo;
if (x1.Count()<x2.Count()) {
temp=x1;
x1=x2;
x2=temp;
}
//temp.DeleteList(); //????????????????????????????????
TNode *temp_x1=x1.last;
TNode *temp_x2=x2.last;
TNode *temp_result=temp.last;//???????????????????????
for (int i=0;i<x2.Count();i++) { //Ѕлок протестирован
result=temp_x1->data+temp_x2->data+carry;
carry=(int)(result/1000);
fifo.Push(result%1000);
temp_x1=temp_x1->prev;
temp_x2=temp_x2->prev;
}
if ( (x2.Count()==x1.Count() ) && (carry!=0) )
fifo.Push(carry);
else {
for (int i=x2.Count();i<x1.Count();i++) {
result=temp_x1->data+carry;
carry=(int)(result/1000);
fifo.Push(result%1000);
temp_x1=temp_x1->prev;
}
if (carry!=0)
fifo.Push(carry);
}
int count=fifo.Count();
for (int i=0;i<count;i++) {
if (!fifo.Pop(result)) {
cout <<"Error\n";
exit(-1);
}
temp.AddBefore(temp.root,result);
}
return temp;
}