大数运算(小项目)

   我们都知道每个变量都有类型,而类型都取值范围。如char类型的取值范围为[-128,127]。而类型中取值范围最大的当属long long型。其取值范围为[0x8000000000000000,0x7fffffffffffffff]。当我们在计算时,难免会超出范围,我们称之为溢出。那么,应如何来解决呢?


   此时,我们的字符串就该派上用场了。可将数存入字符串中,在字符串中进行操作。


  ●加法

  (1)若两个数都不溢出且相加也不溢出 --->直接相加

     若为异号,可直接相加;若为同号,相加不溢出,可直接相加。

  (2)若有一个数溢出或者两个数都不溢出,但是相加溢出,则需要重新定义“+”。


  ●减法

  (1)若两个数都不溢出且相减也不溢出  --->直接相减

     若为同号,直接相减;若为异号,相减不溢出,可直接相减。

  (2)若一个数溢出或者两个数都不溢出,但是相减溢出,则需要重新定义“-”。

  

  ●乘法

  (1)若两个数都不溢出,相乘不溢出  --->直接相乘

  (2)若有个数溢出,或者两个数都不溢出,但是相乘溢出,则需要重新定义“*”。


  ●除法

  首先呢,需要保证除数不能为0.

  (1)若两个数都没有溢出 --->直接相除

  (2)若有一个数发生溢出,则需要重新定义“/”。



代码:https://github.com/xiaoyu602/BigData_Project.git


你可能感兴趣的:(运算,大数)