Sru*_*uly 7 c# math largenumber
我正在开发一个需要处理非常大数量的应用程序.
我查看了一些可用的LargeNumber课程,并找到了一些我很满意的课程.我有一个大整数和大浮点数的类.
由于一些数字很小而且有些大问题是是否值得检查数字的长度,如果它很小,请使用常规C#int或double,如果是大则使用我拥有的其他类或如果我我已经在使用Large Integer和Large Float类,我应该坚持使用它们,即使是较小的数字.
我的考虑纯粹是表现.我是否会为数字较小的数字节省足够的时间,以便在输入之后检查每个数字是值得的.
真的很难说 - 取决于你的第 3 方库:)
最好的选择是使用 System.Diagnostics.StopWatch 类,进行大量不同的计算,对它们进行计时并比较结果,我猜..
[编辑] - 关于基准测试,我会对largeInt类型进行一系列基准测试,以对常规32/64位数字进行计算,并进行一系列检查该数字是否适合常规Int32/Int64类型(其中他们应该),将它们“向下转换”为这些类型,然后使用这些类型运行相同的计算。从你的问题来看,如果内置类型更快的话,这听起来像是你会做的事情。
如果您的应用程序的目标用户比您自己多,请尝试在不同的计算机上运行它们(单核、多核、32 位、64 位平台),并且如果平台似乎对计算时间有很大影响,请使用某种排序策略模式在不同的机器上进行不同的计算。
祝你好运 :)