gpt4 book ai didi

c - 从 printf 输出中提取 float ,其格式为 %d

转载 作者:行者123 更新时间:2023-11-30 21:03:38 25 4
gpt4 key购买 nike

我看到执行以下操作时打印出大量数据。问题是我有输出和对应的源代码,但无法提取实际值。

我尝试的一种方法是首先将这些数字转换为十六进制 here然后将十六进制转换为 float here 。但我没有看到预期范围内的值(value)。还有其他建议的替代方案吗?

注意:我无法控制源代码,因此无法更改源代码。我需要从可用输出中提取所需的信息。我很清楚 %f 代表 float ,而 %d 由于拼写错误而出现

代码:

float float1 float2;
.
.
.
printf("Current value float1=%d float2 = %d",float1,float2);

输出:

Current value float1=-1065244909 float2 = 536870912

最佳答案

假设您的平台上有 sizeof(int) = sizeof(float) == 4,并且您的 ABI 通过 intfloat以同样的方式将值传递给 printf ,那么看起来你的两个值将是:

-1065244909 = 0xC081A713 = -4.051645
536870912 = 0x20000000 = 1.0842022E-19

关于c - 从 printf 输出中提取 float ,其格式为 %d,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23799979/

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