在C#中,我需要使用非常大(和非常小)的数字,其中decimal和double不够准确,BigInteger无法存储数字的分数.
我想让数字具有长的组件,即特征和尾数,因为内存(并且最好是硬盘驱动器)空间将允许.
有人有一个类或者是否有一个非常大的系统类型.
我需要能够加,减,除,模,平方,平方根,sin,cos,tan(和它们的反转)并乘以数字.几乎是标准十进制/双精度的完整功能(如果我错过了任何).
Infinity不需要代表,但它会是一个加号*!
一个非常小的数字的例子是:
0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)
和非常大的数字的例子是:
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)
和
-1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
Run Code Online (Sandbox Code Playgroud)
我更喜欢ToString()以上述形式返回数字.科学记数法是可以接受的,但绝不是首选.
四个最重要的要求是:
BigInteger不是一个可接受的答案.
*如果无穷无尽,那么我只需要尽可能地实现它,例如(无穷大/无穷大= 1),(0 /无穷大= 0)等.
使用BigInteger.它代表一个任意大的有符号整数.