程序员必知的高级语言c的浮点数溢出以及误差
来源:网络收集 点击: 时间:2024-06-20第1步:鼠标双击或者右击打开桌面上DEVc++软件,让其运行起来。Dev-C++是一个电脑Windows窗口运行环境下的一款非常适合于刚开始学习c++学者使用的入门级C/C++ 集成开发环境(IDE)。这款软件很自由,遵守GPL许可协议分发源代码。它大大集成了MinGW中的GCC编译器、GDB调试器和 AStyle格式整理器等众多自由软件。非常的试用,而且界面分类清楚,具有很强大的功能。

第2步:点开文件,选择新建源代码,这时候新建的代码文本还是没有命名的,是一个空命名的文件,下面我们可以通过界面左上角的文件选项,选择另存为,可以存在电脑里任何一个盘,小编为了下次可以更好的找到文件,我存在电脑的桌面上。当然你们可以选择任何一个盘,根据各人所需。

小编以具体的例子说明
原程序:
#include stdio.h
void main() {
float a, b;
a=123456.789e5;
b=a+20;
printf(a=%f\nb=%f, a, b);

运行的结果:
a=12345678848.000000
b=12345678848.000000
这个结果是不是很奇怪?

对结果进行分析:
a+20的理论值应该是:12345678920
但是,一个实型变量能够保证的有效数字是7位,后面的数字将被舍去,是没有意义的。
因此,最后得到
b=12345678848.000000
应当避免一个很大的数和一个很小的数直接相加或相减,否则就会“丢失”较小的数。

上溢
举例
若某系统中的最大float值为3.4e38,进行如下操作
下溢
举例:假设-10是最小的指数,能够保留四位有效数字
如果把数0.1234e-10除以10,将得到结果0.0123e-10,但损失了一位有效数字。

C语言有多种数据类型。
基本的数据类型包括两大类:
整数类型
浮点类型
开发程序时,应当注意所需变量及其类型的选择。
一般使用int和float表示数,用char表示字符。
在使用变量的函数的可执行语句之前声明该变量,并为它选择有意义的名字。
初始化变量使用的常量应当与变量的类型相匹配。

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_910163.html