我有一个包含一些十进制值的字符串,其中数字位数可能超过任何现有的int类型所能容纳的范围(我知道数字的位数)。请给我一些提示,如何将该数字转换为其二进制表示形式(因此我将得到另一个char *变量,其中包含二进制)。
我有一个包含一些十进制值的字符串,其中数字位数可能超过任何现有的int类型所能容纳的范围(我知道数字的位数)。请给我一些提示,如何将该数字转换为其二进制表示形式(因此我将得到另一个char *变量,其中包含二进制)。
您可以使用类似GNU多精度库的工具,该工具支持非常长的数字。
以下是一些提示(如果您想手动实现它)。
我是这样做的(作业):
(我不知道是否有更好或更快的解决方案。) 我不会发布代码,这样您就可以享受自己完成它的乐趣;)
vector<unsigned int>
是一个适合的“二进制表示”吗?在你得到答案之前,很难给出更多细节。 - Uselessstd::vector
要求具有常数时间访问,因此在实践中它不可能 不 是连续的。 - Useless