【问题标题】:Write a BigInteger variable into a BitArray and vice-versa将 BigInteger 变量写入 BitArray,反之亦然
【发布时间】:2012-12-06 07:21:52
【问题描述】:

我正在使用来自System.NumericsBigInteger 类型。

例如:

Dim Mult17 As BigInteger = BigInteger.Parse("1453453452342347")

问题:

  1. 给定BigInteger,如何将其转换为BitArray? (显然,我希望 BitArray 保存二进制 10101... 表示存储在 BigInteger 变量中的数字,我希望可以选择以一种方式或相反的方式存储它。)

  2. 我还需要从BitArray 回到BigInteger

请注意,没有符号问题:我只处理正整数。 VB.NET 或 C# 示例会很好。谢谢。

【问题讨论】:

    标签: c# vb.net biginteger bitarray


    【解决方案1】:

    看来您可以使用 .ToByteArray() 将 BigInteger 转换为字节[]。

    幸运的是,BitArray 将 byte[] 作为constructor parameter

    要倒退,BitArray 到 byte[],使用这个extension,然后在构造函数中传入 BigInteger

    看起来应该可以了。完全披露,我懒得测试这个。

    【讨论】:

    • 嗯,很有趣。第一个问题是 ByteArray 与 BitArray 的关系如何?我可以期望将位“简化”到位数组中吗?我不知道大整数的内部结构?
    • @Pam:你为什么不简单地尝试一下?提示:Biginteger 5 .ToArray 为您提供一个包含 ONE 元素的数组,元素值为 5 ...
    • @igrimpe,谢谢,我会试试的。
    • 不是 .ToArray - .ToByteArray.
    猜你喜欢
    • 1970-01-01
    • 2013-09-21
    • 2017-01-26
    • 1970-01-01
    • 2012-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多