Fortran 将非常大的十进制数转换为二进制数

Fortran 将非常大的十进制数转换为二进制数,fortran,decimal,Fortran,Decimal,例如,将任意长的十进制数字字符串转换为二进制。我认为这是可能的,一旦知道长度,从左到右开始。我找不到这样做的方法。如何实现它?您最好的选择是使用一个已经实现了您想要的功能的库:。它没有Fortran绑定,但是使用Fortran的特性和可能的包装函数从Fortran调用非常简单 如果您安装了gcc,那么您已经在使用gmp;您可能只需要安装相关的开发文件 使用gmp,您可以使用mpz\u set\u str从字符串值设置整数,并使用mpz\u get\u str将其转换为另一个基数 无需重新发明特定

例如,将任意长的十进制数字字符串转换为二进制。我认为这是可能的,一旦知道长度,从左到右开始。我找不到这样做的方法。如何实现它?

您最好的选择是使用一个已经实现了您想要的功能的库:。它没有Fortran绑定,但是使用Fortran的特性和可能的包装函数从Fortran调用非常简单

如果您安装了gcc,那么您已经在使用gmp;您可能只需要安装相关的开发文件

使用gmp,您可以使用
mpz\u set\u str
从字符串值设置整数,并使用
mpz\u get\u str
将其转换为另一个基数


无需重新发明特定的轮子。

您到底想要什么?你想输出一个二进制表示,还是想用二进制数进行计算?我认为有可能,一旦长度已知,从左到右的数字开始,我不知道,如果最左边的数字是最重要的。如果可能,从
19*
的第一个数字开始,告诉我们结果中最重要的二进制数字。很明显,二进制数中的第一个数字是
1
,但接下来是什么呢?Tkoenig:保存为文本的二进制表示法对我来说很好。这真的不是fortran,甚至不是编程问题,至少如果(看起来)你不知道使用什么算法。建议您尝试math.stackexchange.com,并花更多的精力解释您所做的尝试。