gpt4 book ai didi

c - unsigned long long int 到 long double

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:11 26 4
gpt4 key购买 nike

在 C 编程语言中,我无法获得 long double 变量报告的准确值。

为了计算两个 unsigned long long 变量的准确平均值,我觉得我需要使用 long double 而不是标准 double,因为标准 double 仅处理 52 位有效位,而 unsigned long long 是 64 位。

这是我遇到的问题的示例:

unsigned long long int x = 0x00000000FE5F06AC;
unsigned long long int y = 0x000FFFFFFFFFFFFF;
long double z = (x+y)/2.0;
printf("z = %lf", z);

这样的代码示例将始终为 z 打印 0.0000,我真的不明白为什么会这样。

是否发生了下溢,或者我的格式化方式出现了某种类型的错误?

最佳答案

我看到几个错误:

  1. 您在第一个数字中有一个 G。希望这只是一个拼写错误或转录错误。

  2. long double 的格式是%Lf,而不是%lf

这是一个工作示例的链接:http://ideone.com/jWRHit

关于c - unsigned long long int 到 long double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35883088/

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