我试过了
string inpStr = "800000000000000026FFF40000000000";
long num = long.Parse(inpStr, NumberStyles.HexNumber);
并得到错误“值对于 Int64 来说太大或太小”。如果我使用 16 位十六进制,它工作正常。我如何让它与 32 位十六进制值一起使用?
最佳答案
long
不适合 32 位十六进制数(它是 64 位,因此最多可以容纳 16 位十六进制值)
在 .NET 4.0 中,您可以使用 BigInteger:
const string inpStr = "800000000000000026FFF40000000000";
BigInteger num =
BigInteger.Parse(inpStr, System.Globalization.NumberStyles.HexNumber);
关于c# - 将 32 位十六进制数转换为长整数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4362383/