【发布时间】:2019-07-23 20:14:52
【问题描述】:
double 能在 12 个字节中容纳这么多字符需要多长时间?
我做了一个例子,一个 C++ 阶乘 当输入一个大数字时,例如 1754,它会使用一个显然不适合 long double 类型的数字进行计算。
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
unsigned int n;
long double fatorial = 1;
cout << "Enter number: ";
cin >> n;
for(int i = 1; i <=n; ++i)
{
fatorial *= i;
}
string s = to_string(fatorial);
cout << "Factorial of " << n << " = " <<fatorial << " = " << s;
return 0;
}
重要提示: Windows 上的 GCC 编译器,由 visual Studio long double 表现得像一个 double
【问题讨论】:
-
请注意,结果并不完全准确,因为任何至少为 5 的整数的阶乘必须以零结尾。
-
long double似乎是错误的数据类型.. -
用很少的数字写一个大数字很容易。 2 的 1000 次方,是一个非常大的数字,大约有 300 位数字,但我只用五位数字写了它。嗯,这正是 double 的长度。