gpt4 book ai didi

c++ - 存储在 char 数组中的 double 数据返回一个 float 值

转载 作者:太空宇宙 更新时间:2023-11-04 05:18:23 25 4
gpt4 key购买 nike

为什么当我将一个double值的DATA存储在一个char数组中时,如果我从char数组中获取数据到另一个double中,它返回一个Float值?

在此:

double vals = 3.141592654;
char xvals[sizeof(vals)];
memcpy(&xvals, &vals, sizeof(xvals));

double y;
memcpy(&y, &xvals, sizeof(xvals));
std::cout<<y<<"\n";

输出:3.14159

最佳答案

它不会“返回浮点值”:std::cout默认情况下不会打印所有这些数字。

你可以使用 std::setprecison (来自 <iomanip> )更改要打印的位数:

#include <iostream>
#include <iomanip>

int main()
{
double vals = 3.141592654;
std::cout << vals << "\n";

std::cout << std::setprecision(10);
std::cout << vals;
return 0;
}

输出:

3.14159

3.141592654

关于c++ - 存储在 char 数组中的 double 数据返回一个 float 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24973543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com