Skip to content

MetallicPickaxe/BigInteger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

大整数(Big Integer)-1st期

-使用.NET Core 3.0 Preview 7 + C# 最新测试版(8.0 ?)
-达成了技术服务于时代使命的尝试:新时代,代码可读性、设计直观性、设计兼容性应逐渐在日益强大的物理运算能力下在重效率、重空间的纯·工程化思维中搏得一席之地
-使用UInt64数组作为单个Cell,设计上更“纯·64”
-可实现自如地进行任意位数(64 × 2^31二进制位)整数精度的常见数值运算
-使用值·元组进行部分操作,有效兼顾了阅读性、效率
-逻辑化正负号,彻底剥离数值运算、符号运算,数学角度上更纯
-〇独立符号,可不计入正数,数学角度上更纯
-设有±∞
-设有Undefined|未定义|NaN
-default值与未定义联动,与〇脱钩
-可计算数位,暂支持二进制、十六进制
-改用真·BigInteger对数算法(原为调用Math.Log())
-增设开方算法
-优化除法、String值构造器为主的运算,减少多余逻辑
-详细区分索引化,减少奇怪的±1,便于阅读
-优化.NET Framework(截至4.8)的奇怪运算加速设计:专用的BigIntegerBuilder类型、分设的数值存储方式及其他
-使用Struct,理论效率高于Class

·缺点

-乘法运算在超大数值(1 0000二进制位)时效率有待提高
-String源数值格式的支持不够丰富:仅支持数值、进制,不支持格式
-乘方效率有待提高:内部实现依赖乘法
-未制作最大公约数(GCD)
-没有八进制
-数位不支持最常用的十进制
-Hash|散列逻辑未仔细设计,不确定效果:是BigInteger的UInt32版的直接UInt64化(常量 × 2)
-对数|Log仅能执行2以上正整数(∈ [2, +∞))为底数的运算
-乘方仅能执行整数为底数、自然数(∈ [0, +∞))为指数的运算

     

About

更纯的Big Integer,更清晰的脉络

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages