下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

处理C语言中数据精度问题的方法

作者:课课家教育     来源: http://www.kokojia.com点击数:4540发布时间: 2016-12-20 15:00:17

标签: C语言数据精度编程代码

大神带你学编程,欢迎选课

  一般来说,我们在进行软件开发的时候都需要进行数据精度的。数据精度(DataAccuracy),指的是:观测值与真值或可看作是真值的逼近程度。那么我们在C语言中遇到数据精度的问题,应该怎样去进行处理呢?现在我们就一起来学习一下:处理C语言中数据精度问题的方法。

处理C语言中数据精度问题的方法_C语言_数据精度_编程代码_课课家

  一、错误演示

  在教程开始之前,小编先给大家看一个例子吧。但是大家要注意咯,这个演示例子并不是正确的。具体的编程代码,如下图:

错误演示

  那么上面的编程代码经过C语言编译以后,运行出来的结果如下:

  $0.100001

  $

  二、问题分析

  可能大家都应该发现了上面的程序是有问题的了,那么问题究竟出现在哪里呢?有人会和小编会,一定是atof函数导致的问题。为了验证答案的正确性,小编就把atof(s)替换成为了strtod(s,NULL)。但是小编发现就算是把函数替换了以后,运行出来的结果还是和刚刚的示范例子的答案是一模一样的。

  那么问题究竟是什么呢?经过小编反反复复的测试以后,终于发现了问题并不是strtod又或者是atof函数转换的时候精度丢失了,反而是%f的格式化输出符默认的输出为小数点后面6位的精度。好了我们已经知道错误出现在哪里了,现在我们就一定来将错误改正吧。

  三、正确答案

  接下来小编会把刚刚错误例子里面的代码修改成为下面的程序代码,具体的源代码如下图:

正确答案

  编程代码经过C语言编译以后,运行出来的结果如下:

  $0.100001200

  $

  经过以上两个例子,大家可以发现最终运行出来的结果还是有不同之处的,所以大家一定要注意咯!

  小编结语:

  今天我们主要是学习了“处理C语言中数据精度问题的方法”,其实数据精度的问题还是经常会碰到的,所以大家一定要小心处理哟!今天的教程就已经介绍完毕了,如果你还是与犹未尽,可以进入我们的官网课课家教育,了解更多的C语言入门教程

赞(20)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程