2

我有一个约 100 位的字符串,它表示以 10 为底的数字,我想将其转换为表示以 2 为底的数字的字符串,或以二进制表示数字的数字的 bool 数组。我可以使用 BigInteger 在 Java 中轻松地做到这一点,但我不确定 C++ 中是否有等价物。

功能将类似于:

字符串 toBinaryString(字符串 numInDecimal);

谢谢您的帮助。

4

3 回答 3

2

使用http://gmplib.org上提供的 GNU 多精度算术库 (GMP) 。然后mpz set str可能是您从字符串创建“BigInteger”所需的。并且mpz get str再次创建一个字符串。这两个函数都以基数作为参数。

于 2009-01-30T19:27:51.677 回答
1

不幸的是,没有标准的 C++ 类/函数可以做到这一点。无论如何,在这里至少给你一些帮助是一些或多或少有用的起点来开发你自己的 bigInt C++ 类:

StackOverflow:如何在 C++ 中实现大整数

SourceForge:C++ BigInt 类

Matt McCutchen:BigInt 类

于 2009-01-30T19:25:21.697 回答
0

呃...二进制中有很多数字,你将有一些有趣的时间来处理它。

要么,要么你可以使用GMP来帮助你......

于 2009-01-30T19:18:27.717 回答