Mpz_t转换为数字数组
mpz_t to digit array c++
我需要将mpz_t转换为包含数字的int数组。例如
mpz_t t1; mpz_set_si(t1,12345); int digits[];
mpz_t2digits(t1,digits); //That function I need
//digits should now be {1,2,3,4,5}
我知道有一个函数叫做
mpz_export (void *rop, size_t *countp, int order, size_t size, int endian, size_t nails, const mpz_t op)
但是不合适
分两步。首先将数字转换为字符数组,其中每个字符表示一个数字。使用mpz_get_str (char *str, int base, const mpz_t op)
。然后将该数组中的每个字符(数字)转换为整数。一种方法是从每个字符中减去48('0'的ASCII码),如果你不介意的话。
顺便说一下,mpz_set_si
适用于有符号整数。你将如何在你得到的digits[]
中表示负数?也许mpz_set_ui
(对于unsigned int)可能更合适。
相关文章:
- 在将数字随机生成为数组期间从内存输出随机数的数组
- 如何计算数组中元素的位数?(不是数组的长度),并计算其数字的总和
- 数组/c++中的大量数字
- 遍历并行数组以确定C++中的最大数字
- 整数区间(或 int 数组)中每个数字的出现次数
- 如何在 C++ 中将文件中的逗号分隔数字读取到数组中?
- 将随机生成的数字添加到数组 + 对这些数组求平均值
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 获取 2D 数组 c++ 中的所有数字对
- 为什么使用数组元素查找最大数字的程序不起作用?
- 如何从向量或数组中选择最常见的数字?(前五名)C++
- 如何从保存在 Java 中C++的字节数组中读取数字?
- 以十为基数的数字到布尔数组,该数组要求二进制/基数为 2 的数字
- C++ 检查结果数组中有多少次数字
- 如何在不使用 C++ 中的数组或函数的情况下查找 N 位数字的所有排列
- 如何在C++中有效地将数字值重新分配给字符数组
- 查找数组中的最小数字
- 查找数组中重复(重复)数字的索引
- 我必须找到给定数组中所有数字的周期,就像有很多解决方案,但数组的大小是 10^5
- 类、数字/数组或对象中的对象