【问题标题】:vector of bool to gmp integerbool 到 gmp 整数的向量
【发布时间】:2019-04-18 14:03:03
【问题描述】:

我看了一点mpz_import,但我还不确定它的用法(我很抱歉,我是使用 gmp 编程的新手)。我有一个std::vector<bool>,这在过去是我处理大数字的相当低效的方式。数字有时会大于 32 位或 64 位,而且我的数字也较小,我希望 gmp 能有效地处理这个问题。现在我想清理我的旧代码并改用 gmp 。

我使用 C++ 工作。所以我的问题是将vector<bool> 转换为mpz_t 的正确方法是什么。在我的应用程序中,我真的不关心整数的值,只要两个不同的向量(根据它们的内容比较)代表不同的 gmp 整数。

【问题讨论】:

    标签: c++ vector boolean gmp


    【解决方案1】:

    我认为mpz_import 不能正常工作。所以我最终使用了以下

    mpz_t n; mpz_init(n);
    
    for (size_t i = bignum.size(); i --> 0; )
      if (bignum[i]) mpz_setbit(n,i);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多