标签:大数运算
我们都知道每个变量都有类型,而类型都取值范围。如char类型的取值范围为[-128,127]。而类型中取值范围最大的当属long long型。其取值范围为[0x8000000000000000,0x7fffffffffffffff]。当我们在计算时,难免会超出范围,我们称之为溢出。那么,应如何来解决呢?
此时,我们的字符串就该派上用场了。可将数存入字符串中,在字符串中进行操作。
●加法
(1)若两个数都不溢出且相加也不溢出 --->直接相加
若为异号,可直接相加;若为同号,相加不溢出,可直接相加。
(2)若有一个数溢出或者两个数都不溢出,但是相加溢出,则需要重新定义“+”。
●减法
(1)若两个数都不溢出且相减也不溢出 --->直接相减
若为同号,直接相减;若为异号,相减不溢出,可直接相减。
(2)若一个数溢出或者两个数都不溢出,但是相减溢出,则需要重新定义“-”。
●乘法
(1)若两个数都不溢出,相乘不溢出 --->直接相乘
(2)若有个数溢出,或者两个数都不溢出,但是相乘溢出,则需要重新定义“*”。
●除法
首先呢,需要保证除数不能为0.
(1)若两个数都没有溢出 --->直接相除
(2)若有一个数发生溢出,则需要重新定义“/”。
代码:https://github.com/xiaoyu602/BigData_Project.git
本文出自 “一起去看星星” 博客,请务必保留此出处http://10810429.blog.51cto.com/10800429/1775037
标签:大数运算
原文地址:http://10810429.blog.51cto.com/10800429/1775037