将 double 转换为 float 后值不正确

2024-07-01

我有一些由 gcc(gcc (GCC) 4.4.4 20100726 (Red Hat 4.4.4-13)) 编译的执行高精度算术的 C 代码。计算的最终结果是一个 double 值,其值为 622.07999995861189。我是将双精度型转换为浮点数。

频率值=(浮点数)当前频率;

其中 current_freq 是双精度型,Frequency_value 是浮点型。转换后的Frequency_value 值为 622.080017。我预计该值为 622.079956,在 gdb 中计算为

(gdb) p (浮点)current_freq 1 美元 = 622.079956

谁能解释一下 gcc 和 gdb 计算的值之间的巨大差异。


float 的精度比 double 低得多;你会丢失大约一半的数字。因此,您最多只能看到 622.0799 部分(四舍五入为 622.0800)。您看到的差异可能是由使用的舍入模式引起的。

以下是实际数字:

  • 作为双倍:622.0799999586118929073563776910305023193359375
  • 作为浮点数:622.08001708984375(内部表示:1142654239)
  • 前一个浮动:622.0799560546875(内部表示:1142654238)

内部表示是使用 Java 生成的值Float.floatToIntBits。您还可以使用Float.intBitsToFloat返回一个浮点数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 double 转换为 float 后值不正确 的相关文章

  • 在 OpenCV C++ 中使用 gpu::GpuMat

    我想知道如何修改gpu GpuMat 事实上我想知道是否可以使用gpu GpuMat like a cv Mat 我想做这样的事情 cv namedWindow Result cv Mat src host cv imread lena j
  • 规避模板专业化

    假设我是某个模板库的用户 CTL 它定义了一个模板 命名为 Hector template
  • 如何从 appsettings.json 获取日期时间?

    我有 net core 5 0 应用程序并尝试从 appsettings json 获取 DateTime 应用程序设置 json TimeModel RestartDuration 27 10 2021 12 30 00 Code ser
  • C++14 中专门用于数组类型的分配器?

    为什么 c 14 中没有 std allocator 的数组模板专门化 当我自己尝试专门化 std allocator 时 我在实现 Construction 和 destroy 方法时遇到了死胡同 是这个原因吗 那么为什么 std all
  • elmah定制提供商及暴露事件

    我想知道如何创建自定义提供程序来存储错误日志 例如 Windows 事件查看器的提供者 如果到目前为止不可能 我还想知道是否有任何可以覆盖的公开事件 以便我可以注入我的代码 获取异常 做任何我想做的事情 我知道 Global asax 中有
  • 如何在C++中从Imagemagick图像获取缓冲区

    我正在使用 ImageMagick 库进行图像处理 我需要加载 bmp 图像 将其转换为 jpeg 将其加载到缓冲区中并通过网络发送 但是 我在 ImageMagick 中找不到任何可以在缓冲区中转换和存储数据的支持函数 我只能写入文件 尝
  • 使用迭代器与索引访问向量元素有什么区别?

    使用迭代器与索引访问向量元素有什么优点 为什么迭代器比索引更好 在索引不可用的情况下 例如 std list 对于 例子 在通用函数接受迭代器的情况下 叫做 编写应该使用的函数模板时 不止一种容器类型 他们的存在是为了创造均匀性在所有容器和
  • Asp.net MVC 2 缓存

    我目前正在使用 c 中的 asp net mvc 2 开发一个网站 我从未使用过 MVC 中的缓存功能 并且想将其应用到用户个人资料页面 此页面上的内容很少更改 唯一需要实时的部分是用户最近发布的帖子列表 我使用linq to sql从数据
  • 尝试写入事件日志时出错 - 无法打开源“SourceName”的日志。您可能没有写入权限

    目前 我们正在尝试将现有的经典 ASP 页面集成到记录事件日志的新方法中 我们通过调用公开为 COM 对象的 NET 程序集来实现此目的 该程序集实际记录到事件日志中 这一切都正常工作 但是当我们尝试写入事件日志时 我们收到错误 无法打开源
  • 仅仅“抛出”一次捕获有好处吗?

    与一位同事就他将大部分功能包装在 try catch 中的做法进行了 激烈辩论 但 catch 中只有一个 抛出 例如 Private sub foo try Do something catch throw And nothing els
  • 从枚举获取 DescriptionAttribute [重复]

    这个问题在这里已经有答案了 我有一个枚举 用于查找协调字符串值 其中一个枚举中有一个空格 因此我尝试使用描述属性来查找该值 在找到 DescriptionAttribute 后 我在转换回公共类时遇到问题 public class Addr
  • 如何确保 IsInRole 检查不使用缓存的凭据

    我有一个连接到 WCF 服务的 WPF 客户端 我想锁定某些功能 以便只有某些用户可以执行某些操作 WCF 服务在执行服务方法时模拟客户端用户 操作系统是Windows XP 我正在读书这个问题 https stackoverflow co
  • 将 byte[] 作为文件打开,而不先将其实际保存为文件

    打开以 byte 形式存储在数据库中的 Word 文件的最佳方法是什么 我必须将一些文档存储在 Access 数据库中 Word 文件 2003 及更高版本 并存储在严格通过 CD 运行的应用程序上 不幸的是 它们必须位于数据库中 并且不能
  • “auto_ptr”和 STL 容器:编写错误用法的示例

    读完本教程后提出这个问题 http www cprogramming com tutorial auto ptr html http www cprogramming com tutorial auto ptr html 在那里你可以找到以
  • 在heroku上运行c++程序

    我正在尝试在 Heroku 上运行 C 程序 我读过这篇文章 但是我没能成功 因为服务器上没有 g 或 gcc 我尝试像这样将 g 下载到服务器上sudo apt get install g 但是我没有root权限 我还尝试将 g 副本复制
  • fread 在 C 中如何工作?

    我有内容为的文本文件 12345678901222344567 然后我用这段代码来读取内容 FILE pFile int c char buffer 256 pFile fopen myfile txt r int a 50 0 fread
  • 如何使用 gcc 的 -I 命令添加递归文件夹

    有没有办法使用 gcc 的 I 命令并通过给出 a 将所有路径添加到搜索路径root目录 我正在尝试使用 gcc E myfile c查看宏展开式 但是myfile c包含不同目录中的一大堆其他头文件 并且因为我在 vim 中执行此命令 所
  • 跨 Web 服务列表<国家/地区> 变为国家/地区 []

    我有一个 Web 服务 调用时会返回一个包含多态列表的 Result 对象 但是 当我在客户端应用程序中添加引用时 公共字段将成为客户端应用程序中的国家 地区数组 如何将客户端应用程序中的字段更改为列表 public Result GetC
  • 如何将特殊字符 (0x80..0x9F) 写入 Windows 控制台?

    我想要这段代码 System Console Out WriteLine il display il代替oil正如我的测试程序中所做的那样 The Console OutputEncoding默认设置为Western European DO
  • Java将浮点字符串解析为浮点数组?

    有没有一种简单的方法将浮点字符串解析为浮点数组 我正在编写一个导入程序 它需要解析一个 ascii 文件以获取一些值 我只是想知道是否有更简单的方法来执行此操作 然后自己搜索所有空白并使用Float parseFloat s 对于每个空格分

随机推荐

  • 如何搜索来自另一个页面模型的串联名称列表?

    我的项目中有多个模型 但在下面的屏幕中 大多数字段 属性都位于 SecurityLog 模型中 下面是我显示的官员串联列表 除了军官姓名之外 我的搜索和列标题排序功能正常 我很难合并官员姓名 因为该列表来自另一个页面模型 这是我的数据库架构
  • 无法解析“:app@debug/compileClasspath”的依赖关系:无法解析

    新安装的安卓工作室3 1 3在创建新项目并第一次编译时出现奇怪的依赖关系错误 一个相似的question https stackoverflow com questions 46949622 android studio 3 0 unabl
  • 异步等待和获取语法在 React 中不起作用

    这是我的代码 export class App extends Component constructor props super props async fetchSport sport let headers new Headers h
  • Volley ProgressDialog在获取大量数据时卡住/冻结

    这是我的代码 private void downloadSupplyTownData final int townId2 Using Volley Post params to be sent to the server HashMap
  • Spark 应用程序conf中的setMaster与sparkSubmit上的--master标志之间的差异或冲突

    我试图了解运行 Spark 应用程序时设置主属性的重要性 集群位置位于默认端口 7077 我从测试机运行此应用程序 它将访问 s3 存储桶 目前应用程序中的 Spark 配置如下 val sparkConf new SparkConf se
  • 将参数传递给 Bash 函数

    我正在尝试搜索如何在 Bash 函数中传递参数 但出现的总是如何从命令行 我想在我的脚本中传递参数 我试过 myBackupFunction xx function myBackupFunction directory options ro
  • rspec 路由测试和主机

    我发现我可以使用 rspec 测试路由 如下所示 get should route to welcome index 但我有基于主机名或主机名部分的约束以及几个主机名之间的重定向 测试时如何指定主机名 如何使用正确的配置运行测试 我尝试打印
  • MySQL插入固定值和多select结果的数据

    假设我有一个如下所示的表结构 通知表 id receiver id type content time 接收者 ID 来自用户表 用户表 id username 内容和时间来自广播表 广播表 id content time 因此 当我需要插
  • 如何退出git中的提交编辑消息?

    我通常通过输入来提交git commit m initial 默认情况下 GNU nano 编辑器是 ubuntu Gnome 19 04 上 git config editor 中的选择 我不小心提交了我的更改输入git commit输入
  • Oracle Analytics - SQL 查询的分区和排序

    这是在回答另一个用户的问题时出现的question https stackoverflow com questions 261924 how do i compress this oracle resultset into values a
  • 风玫瑰与 ggplot (R)?

    我正在寻找使用 ggplot2 来创建的良好 R 代码 或包 风玫瑰 http en wikipedia org wiki Wind rose显示风的频率 强度和方向 我对 ggplot2 特别感兴趣 因为以这种方式构建绘图使我有机会利用其
  • 为什么动态安装的 vuejs 内容不是根 vue 实例的子组件?

    我加载一些包含自定义组件的 html 并将该内容挂载到父组件中的固定节点 不幸的是 我发现它们之间没有父子关系 因此动态插入的组件派发的事件无法被根vue接收 我创建了一把小提琴 任何帮助或建议都将受到赞赏 http jsfiddle ne
  • 如何使用空手道为 twitter 设置 oauth 1.0 身份验证? [复制]

    这个问题在这里已经有答案了 我正在使用 karate 进行自动化 并且必须使用 oauth 1 0 身份验证 它有 4 个字段 分别是 token tokensecret consumerkey 和consumersecret 我无法用空手
  • f2py:公开“已使用”模块的参数

    我认为这个问题已经在某个地方得到解决 但我花了大量的时间四处寻找答案 包括深入研究源代码 我试图将问题放在第一段中 其余部分显示了问题的基本示例 我正在尝试编译一个包含USE指向另一个更通用的模块的语句 我更愿意将使用的模块分开 以便它可以
  • 当不读取带有 URL 的 QR 码时,zxing QRCodeReader 中出现 ChecksumException

    如果我扫描带有 URL 的 QR 码 以下代码可以完美且快速地运行 然而 如果我用简单的字符串或数字序列解码 QR 码 这就是我想要做的 它有时会随机工作 但 99 的情况下它会失败并出现 ChecksumException if webc
  • 查找框和裁剪图像的角点

    Hey Guys I am working with numpy and opencv and want to get a image cropped by the contours of it Here is one example wh
  • 如何在网络浏览器中打开 Excel?

    单击按钮时我需要在网络浏览器中打开 Excel 如何在 asp net 中执行此操作 您无法在客户端 浏览器 计算机上控制和启动软件 为什么 安全 如果这是可能的话 黑客早就接管了所有计算机 你能解释一下吗exactly你想做什么 如果您解
  • 需要哪些 HTTP 响应标头

    从服务器发送到客户端需要哪些 HTTP 响应标头 我致力于优化 HTTP 响应标头 以最大限度地减少 HTTP 响应开销 我知道 开销 有点夸张 但我喜欢干净的输出 我看到很多网站发送冗余的缓存标头等 e g 指定两者是多余的Expires
  • 如果用户应答传入的 iMessage,WKWebView 会崩溃

    我的应用程序发生严重崩溃 CALayer position contains NaN 377 833 nan 具有以下堆栈 Fatal Exception CALayerInvalidGeometry 0 CoreFoundation 0x
  • 将 double 转换为 float 后值不正确

    我有一些由 gcc gcc GCC 4 4 4 20100726 Red Hat 4 4 4 13 编译的执行高精度算术的 C 代码 计算的最终结果是一个 double 值 其值为 622 07999995861189 我是将双精度型转换为