当前位置: 首页>>代码示例>>C++>>正文


C++ BigData::IsINT64Owerflow方法代码示例

本文整理汇总了C++中BigData::IsINT64Owerflow方法的典型用法代码示例。如果您正苦于以下问题:C++ BigData::IsINT64Owerflow方法的具体用法?C++ BigData::IsINT64Owerflow怎么用?C++ BigData::IsINT64Owerflow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BigData的用法示例。


在下文中一共展示了BigData::IsINT64Owerflow方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: BigData

BigData BigData::operator+(BigData& bigData)
{
	if (!IsINT64Owerflow() && !bigData.IsINT64Owerflow())  //没有溢出
	{
		if (m_strData[0] != bigData.m_strData[0])   //异号
		{
			return BigData(m_llValue + bigData.m_llValue);
		}
		else
		{
			if (('+' == m_strData[0] && MAX_INT64 - m_llValue <= bigData.m_llValue) 
				|| ('-' == m_strData[0] && MIN_INT64 - m_llValue >= bigData.m_llValue))
			{
				return BigData(m_llValue + bigData.m_llValue);
			}
		}
	}
	std::string strRet;
	if (m_strData[0] == bigData.m_strData[0])
	{
		return BigData((char*)Add(m_strData, bigData.m_strData).c_str());

		//strRet = Add(m_strData, bigData.m_strData);
	}
	/*else
	{
	}*/
	return BigData((char*)Sub(m_strData, bigData.m_strData).c_str());
}
开发者ID:hhhh93,项目名称:Vector,代码行数:29,代码来源:BigData.cpp

示例2: BigData

BigData BigData::operator*(const BigData& bigData)
{
	if (0 == m_llValue || 0 == bigData.m_llValue)
	{
		return BigData(INT64(0));
	}

	if (!IsINT64Owerflow() && !bigData.IsINT64Owerflow())
	{
		if (m_strData[0] == bigData.m_strData[0])//同号
		{
			// 10 /2 = 5 >= 1 2 3 4 5
			// 10 /-2 = -5 <= -5 -4 -3 -2 -1 
			if (('+' == m_strData[0] && MAX_INT64 / m_llValue >= bigData.m_llValue) ||
				('-' == m_strData[0] && MAX_INT64 / m_llValue <= bigData.m_llValue))
			{
				return BigData(m_llValue*bigData.m_llValue);
			}
		}
		else//不同号
		{
			// -10 /2 = -5 <= 
			// -10/-2 = 5 >
			if (('+' == m_strData[0] && MIN_INT64 / m_llValue <= bigData.m_llValue) ||
				('-' == m_strData[0] && MIN_INT64 / m_llValue >= bigData.m_llValue))
			{
				return BigData(m_llValue*bigData.m_llValue);
			}
		}
	}

	return BigData(Mul(m_strData, bigData.m_strData).c_str());
}
开发者ID:LI8023NING,项目名称:Linux-Network,代码行数:33,代码来源:BigData.cpp


注:本文中的BigData::IsINT64Owerflow方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。