从char*到binary的十进制数
Decimal from a char* to binary
我有一个由一些十进制值组成的字符串,其位数可以超过任何现有的int类型所能容纳的位数(我知道位数)。请给我一些提示,我如何将该数字转换为它的二进制表示(所以我将有另一个char*变量,它将由二进制组成)。
您可以使用类似GNU多精度库的东西,它支持非常长的数字。
您需要一个自定义的BigInt库。GMP将是一个不错的选择。
只是一些提示(如果您想手动实现)。
我是这样做的(家庭作业):
- 我使用了一个无符号int数组来存储表示数字(使用二的补码表示)
- 我在那个数组上实现了移位和加法运算(与经典积分类型的语义相同)
- 由于你可以用乘积的和来表示一个数字,我使用了一个带有移位和加法的算法(如本文所示)。您可以使用字符串中单个字符的位置来生成正确的二进制表示
(我不知道是否有更好或更快的解决方案。)我不会发布代码,这样你就可以自己做了;)
相关文章:
- visual在c++中将十进制数转换为二进制数
- C++从二进制转换为十进制数
- 为什么有时我输入一个整数,程序将第一个输入的数字打印成十进制数?
- 将分数转换为十进制数并对其进行排序
- 使用标准库计算字符串中的十进制数
- (第 1 位 + 第 2 位)以十进制数表示
- 如何通过输入十进制数打印UTF-8符号?
- 如何使用链表将负十进制数转换为二进制?
- 二进制反转为十进制数
- 以C++格式将十六进制字符串转换为十进制数
- 如何在C++中使用setiosflags打印出十进制数作为八进制数
- 将字节数组转换为 C++ 中的十进制数
- 为什么如果(!(cin >> int)) 在第一次迭代中接受十进制数,但不接受其他十进制数?
- 在 c++ 中使用 setfill() 以特定格式打印十进制数
- 您能否给我一个 16 位(或更多)十进制数,该十进制数仅在第 15 位正确转换为双精度浮点圆
- 使用堆栈将十进制数转换为二进制数
- 如何确定十进制数的完美幂?
- 使用 for 循环更改二进制数>十进制数
- 将浮点数转换为字符串,并指定精度和十进制数字数?
- 从char*到binary的十进制数