相关疑难解决方法(0)

如何将一个巨大的整数(字符串格式)转换为十六进制格式?(C#)

给定一个潜在的巨大整数值(采用C#字符串格式),我希望能够生成其十六进制等效值.普通方法在这里不适用,因为我们正在谈论任意大数,50位或更多.我见过的技术使用了这样的技术:

// Store integer 182
int decValue = 182;
// Convert integer 182 as a hex in a string variable
string hexValue = decValue.ToString("X");
// Convert the hex string back to the number
int decAgain = int.Parse(hexValue, System.Globalization.NumberStyles.HexNumber);
Run Code Online (Sandbox Code Playgroud)

将无法工作,因为要转换的整数太大.

例如,我需要能够像这样转换字符串:

843370923007003347112437570992242323

到十六进制当量.

这些不起作用:

C#将整数转换为十六进制再返回 如何在C#中转换十六进制和十进制之间的数字?

c# hex types type-conversion

17
推荐指数
2
解决办法
3067
查看次数

基本转换的计算复杂性

将非常大的n位数转换为十进制表示的复杂性是多少?

我的想法是,重复整数除法的基本算法,取余数来得到每个数字,将具有O(M(n)log n)复杂性,其中M(n)是乘法算法的复杂性; 然而,除法不是在2个n位数之间,而是1个n位数和一个小常数,因此在我看来复杂性可能更小.

algorithm complexity-theory base time-complexity

5
推荐指数
1
解决办法
1662
查看次数