C#实现超长位整数运算
来源:互联网 发布:python默认编码方式 编辑:程序博客网 时间:2024/05/22 04:58
.net中我们可用的最大长度数据类型为ulong(无符号64位)。
某些特殊情况下(如密码学),要求我们使用大于64位长度的超长整数进行加、减、乘、除,甚至求幂等诸多复杂运算。
针对于此种情况,.net4.0中专门提供了相应的数据类型BigInteger,来实现这种功能。
相关信息参考MSDN:
>> BigInteger 成员
http://msdn.microsoft.com/zh-cn/library/system.numerics.biginteger_members.aspx
>> BigInteger 结构
http://msdn.microsoft.com/zh-cn/library/system.numerics.biginteger.aspx
>> System.Numerics 命名空间
http://msdn.microsoft.com/zh-cn/library/system.numerics.aspx
不过,上文已经注明,此数据类型见于.net4.0。.net3.5中确实存在System.Numerics这一命名空间,但.net3.5中并不存在这一数据类型。而.net2.0中尚不存在此命名空间。
以下提供高手自建的BigInteger源码(.CS),可以在任意.net版本中加以使用,来实现上述要求的功能。
>> C# BigInteger Class (CodeProject)
- C#实现超长位整数运算
- 超长整数的基础运算 算法实现之准备篇
- 超长整数的基础运算 算法实现之加、减篇
- 超长整数的基础运算 算法实现之模、模幂篇
- 超长整数的基础运算 算法实现自平方篇
- 位运算实现整数加减乘除
- 位运算实现整数相加
- C#超长正整数运算
- 超长整数运算(大数运算)
- 7 超长整数运算(大数运算)
- 位运算---只使用位运算实现整数的加减乘除
- 用位运算实现两整数相加
- 利用位运算实现两个整数相加
- 位运算实现整数的加减乘除
- 位运算实现两个整数相加
- 超长整数的基础运算 之小结
- 超长整数的基础运算 算法实现之乘、除篇
- 超长整数的基础运算 算法实现之进制转换篇
- Facebook推出一次性临时密码强化帐户安全功能
- Flex中要想使图表的横坐标轴标签成45度显示(2)
- EjectUSB.pas
- struts 动态验证框架
- C++局部类和C++嵌套类之间的区别
- C#实现超长位整数运算
- 第三章 信道 总结
- php->java
- 【windows C语言程序设计】 使用ListBox控件,基本知识的准备和研究(二)
- 随机抽样一致性算法RANSAC
- gawk 手册
- java调用oracle存储过程
- 常用的IPTABLES规则 --更详细的
- 自己动手实现纯Web远程监控系统