相关疑难解决方法(0)

BigInteger到十六进制

快速问题......

我有一个愚蠢的长BigInteger,我想写一个文件作为十六进制字符串.

我知道Java提供了.toString(16)这样做的方法,但我找不到C#中的等价物.

我正在使用System.Numerics.BigInteger.NET 4.0.

谢谢

c# hex biginteger

11
推荐指数
2
解决办法
4750
查看次数

BigInteger解析八进制字符串?

在Java中,我能做到

//Parsing Octal String
BigInteger b = new BigInteger("16304103460644701340432043410021040424210140423204",8);
Run Code Online (Sandbox Code Playgroud)

然后按照我的喜好格式化它

b.toString(2); //2 for binary
b.toString(10); //10 for decimal
b.toString(16); //16 for hexadecimal
Run Code Online (Sandbox Code Playgroud)

C#BigInteger提供了上面显示的格式化功能,但我似乎无法找到解析BIIIG(大于64位,无符号)八进制值的方法.

c# biginteger octal

7
推荐指数
1
解决办法
1314
查看次数

C#将大于Int64的数字转换为HexaDecimal

我想在C#中将一个大数字(例如:9407524828459565063)转换为十六进制(例如:828E3DFD00000000).

问题是该数字大于Int64的最大值.

我到处查找,找不到合适的解决方案.

有什么帮助吗?

谢谢.

.net c# hex int64

3
推荐指数
1
解决办法
3017
查看次数

将BigInteger二进制转换为BigInteger数字?

目前我使用的是Long整数类型.我使用以下内容从/转换为二进制/数字:

Convert.ToInt64(BinaryString, 2); //Convert binary string of base 2 to number
Convert.ToString(LongNumber, 2); //Convert long number to binary string of base 2
Run Code Online (Sandbox Code Playgroud)

现在我使用的数字已超过64位,因此使用BigInteger开始.我似乎无法找到相当于上面的代码.

如何将具有超过64位的BinaryString转换为BigInteger数,反之亦然?

更新:

答案中的引用包含了我想要的答案,但是我在从Number转换为Binary时遇到了一些麻烦.

我使用了第一个参考中提供的以下代码:

    public static string ToBinaryString(this BigInteger bigint)
    {
        var bytes = bigint.ToByteArray();
        var idx = bytes.Length - 1;

        // Create a StringBuilder having appropriate capacity.
        var base2 = new StringBuilder(bytes.Length * 8);

        // Convert first byte to binary.
        var binary = Convert.ToString(bytes[idx], 2);

        // Ensure leading zero exists if value is positive. …
Run Code Online (Sandbox Code Playgroud)

c# binary biginteger

3
推荐指数
1
解决办法
1779
查看次数

C#:BigInteger 到指定基数的字符串

JavaJavascript 中BigInteger都有一个被调用的函数toString(int radix),它返回给定String的 thisBigInteger的表示radix

我想知道C# ( .NET ) 中是否有任何方法可以完成 java 和 javascript 可以做的工作?

c# biginteger radix

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

十进制到十六进制的转换

我先描述一下场景。

我想做的是将字符串转换为十六进制。

例如,假设一个由 1 和 0 组成的二进制字符串。110011,将它们配对为一组 4 位(这里为 8 位附加两个 0),将每对分别转换为十六进制,然后将十六进制字符串结果连接起来以获得输出。

对于八进制,与二进制相同,但这里输入的八进制字符串被分成 3 位数字的组

对于 ASCII,每个数字的字节等效值将转换为十六进制并存储。

现在的问题是十进制字符串输入该怎么办?

- 我是否应该考虑使用与 ASCII 相同的方法?-或者还有其他方法吗?

编辑 :-

我不只是转换数字,而是转换数字数组。

二进制字符串 - 4 位数字组,然后将其转换为十六进制
八进制字符串 - 3 位数字组,然后将其转换为十六进制
ASCII 字符串 - 每个字符的字节等效值,然后将其转换为十六进制

所以长度不是问题。问题是如何转换十进制字符串(我应该使用哪种配对/分组)

注意:我已经知道如何将八进制、二进制和十进制数转换为十六进制。这部分更多的是关于如何“将十进制字符串分组”,以便将每个十进制分组分别转换为十六进制,然后将所得的十六进制连接起来。

c#

0
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×6

biginteger ×4

hex ×2

.net ×1

binary ×1

int64 ×1

octal ×1

radix ×1