我必须以 JSON 格式存储一个 long double
变量。 JSON 支持double
变量但不支持long double
。然后我必须将 long double
值拆分为几个 double
值,但我不知道如何轻松地做到这一点。
我已经通过这种方式为 long long int
变量做到了:
std::vector<long int> long_long_int__to__long_int(long long int x)
{
std::vector<long int> split;
const unsigned long int n = sizeof(long long int) / sizeof(long int);
for(unsigned long int i = 1; i < n; ++i)
{
split.push_back((long int)(x % (long long int)std::numeric_limits<long int>::max));
x /= (long long int)std::numeric_limits<long int>::max;
}
split.push_back(x);
return split;
}
知道如何使用浮点变量做到这一点吗?
最佳答案
这是我能想到的解决方案,它也适用于您的 long long int 问题。
- 考虑将任何类型存储为十六进制值数组,无论是 long long int 还是 long double。
- 选择一项Binary-to-text encoding算法并使用它将数组转换为可读字符串。
- 将字符串存储为JSON
关于c++ - 将一个 long double 存储在多个 double 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39764724/