c# - 十六进制到 int C# 非常大的数字

标签 c# biginteger valueconverter

我有一个包含十六进制值的 256 个字符长的字符串:

EC851A69B8ACD843164E10CFF70CF9E86DC2FEE3CF6F374B43C854E3342A2F1AC3E30C741CC41E679DF6D07CE6FA3A66083EC9B8C8BF3AF05D8BDBB0AA6CB3EF8C5BAA2A5E531BA9E28592F99E0FE4F95169A6C63F635D0197E325C5EC76219B907E4EBDCD401FB1986E4E3CA661FF73E7E2B8FD9988E753B7042B2BBCA76679

我想把它转换成这样的数字字符串:

102721434037452409244947064576168505707480035762262934026941212181473785225928879178124028140134582697986427982801088884553965371786856967476796072433168989860379885762727214550528198941038582937788145880903882293999022181847665735412629158069472562567144696160522107094738216218810820997773451212693036210879

这么大的数字怎么办?

提前致谢。

最佳答案

使用BigInteger .具体可以用BigInteger.Parse将十六进制表示解析为 BigInteger 的实例(使用 NumberStyles.HexNumber ),然后 BigInteger.ToString获取十进制表示。

var number = BigInteger.Parse(
    "EC851A69B8ACD843164E10CFF70CF9E86DC2FEE3CF6F374B43C854E3342A2F1AC3E30C741CC41E679DF6D07CE6FA3A66083EC9B8C8BF3AF05D8BDBB0AA6CB3EF8C5BAA2A5E531BA9E28592F99E0FE4F95169A6C63F635D0197E325C5EC76219B907E4EBDCD401FB1986E4E3CA661FF73E7E2B8FD9988E753B7042B2BBCA76679",
    NumberStyles.HexNumber
);
var s = number.ToString();

关于c# - 十六进制到 int C# 非常大的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498288/

相关文章:

c# - IEnumerable 是允许过滤的数据的良好返回类型吗?

c# - 从具有最小值的列表中返回项目

c# - DbContext.Set() 上的 LINQ

java - 如何将任何对象转换为字符串?

vb.net - 如何将 DataGridView 列从字符串转换为十进制?

python - Pandas 数据帧 : Cannot convert string into a float

c# - “对象”不包含采用 0 个参数的构造函数

java - 了解 BigInteger 构造函数

java - 使用 Java 将 double 值转换为 BigInteger 值的最佳方法

java - 如何在java中计算curve1174的加倍?