本文整理汇总了C++中BigInteger::divrem方法的典型用法代码示例。如果您正苦于以下问题:C++ BigInteger::divrem方法的具体用法?C++ BigInteger::divrem怎么用?C++ BigInteger::divrem使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BigInteger
的用法示例。
在下文中一共展示了BigInteger::divrem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toString
std::string BigInteger::toString() const
{
bool origDebug = debugStr;
debugStr = false;
string s;
BigInteger N(1000);
BigInteger r;
BigInteger tmp = *this;
char aBuf[20];
while(!tmp.equals(BigInteger::ZERO))
{
tmp = tmp.divrem(N,r);
sprintf(aBuf,"%03d",r.n[0]);
s=aBuf+s;
}
debugStr = origDebug;
/*
RawBuffer buffer = toByteArray();
for(int i=buffer.length()-1; i>=0; i--)
{
int low = buffer[i] & 0x0f;
int high = (buffer[i] & 0xf0) >> 4;
s+=IntToHex(high);
s+=IntToHex(low);
}*/
// remove leading 0's.
int pos = 0, len = s.length();
while ((pos < len) && (s[pos] == '0'))
pos++;
if (pos == len)
{
return "0";
}
else
{
return s.substr(pos);
}
}