【问题标题】:The maximum length of string input to gmp integer?gmp整数的字符串输入的最大长度?
【发布时间】:2011-05-25 06:55:18
【问题描述】:

我正在尝试实现加密功能。要求我的字符串输入长度可能为 10000 字节。因此,为了与 gmp 变量 (mpz_t) 一起使用,我必须将此字符串输入转换为 mpz_t 变量。

gmp (BigInteger) 库手册对此只字未提: 可以转换成mpz_t变量的字符串最大长度是多少?

mpz_set_str() 函数是我遇到的唯一一个。如果有人能对这个问题有所了解,将不胜感激。

【问题讨论】:

    标签: c string gmp


    【解决方案1】:

    如果库没有说什么,那么数组的长度有两个可能的限制。一是数组中的元素个数不能超过size_t可以表示的最大整数。另一个限制可能是由硬件施加的。

    【讨论】:

    • 从技术上讲,数组的大小不能超过SIZE_MAX。如果您的数组元素是long longSIZE_MAX / 4 将是太多元素。
    • @Chris Lutz 哦,我的立场是正确的。我假设了一些事情,因为问题是关于库可以处理的字符串的最大长度。
    • 我想如果它是char *,那么它将是SIZE_MAX,因为sizeof(char) == 1
    猜你喜欢
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 2013-04-12
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多