长期真正的算术C#

时间:2014-04-05 11:42:34

标签: c# visual-studio-2013 bignum

我需要使用逗号前的8位数和逗号后的8位数来操作,例如: 12345678,12345678

如何在不失去准确性的情况下执行除法,乘法和求和操作,并且我想执行快速计算。

你有什么建议?我在Visual Studio 2013中工作,C#。

2 个答案:

答案 0 :(得分:1)

.NET的数据类型可以达到你想要的效果 - System.Decimal,在C#中缩短为decimal

  

decimal关键字表示128位数据类型。与浮点类型相比,十进制类型具有更高的精度和更小的范围,这使其适用于财务和货币计算。

它支持的数字范围是负数和正数79,228,162,514,264,337,593,543,950,335,它支持28-29位有效数字。此外,它支持开箱即用的所有常规数值运算(除法,乘法等)。

答案 1 :(得分:0)

我决定使用BigInteger类型并在逗号之后以单独的整数存储一定数量的整数。

BigInteger number1= new BigInteger(52793562305619195816059);
int amount1=10;
BigInteger number2=new BigInteger(568416843186432156843521);
int amount2=10;
BigInteger result=BugInteger.Mul(number1,numner2);
BigInteger remainder;
result=Biginteger.DivRem(result,amount1*amount2,remainder);
if (remainder>0)
result++;