c++中怎样去除浮点型变量误差
答案:5 悬赏:70 手机版
解决时间 2021-05-07 00:27
- 提问者网友:未信
- 2021-05-06 09:49
在我写的一个程序中,要求x每次增都增加0.01。
x的范围是-100~100
可是每次都是-100+0.01=99.989999999999995
而不是99.999999999999999
请问这样应该怎么处理
我用的是dev c++ 5.0,下面是我的程序:
#include<stdio.h>
#include<stdlib.h>
double x=-100;
int main()
{
x=x+0.01;
printf("%.100f\n",x);
system("pause");
return 0;
}
最佳答案
- 五星知识达人网友:过活
- 2021-05-06 10:51
这个不是错误,是误差,不可避免的。所以平常输出的时候最好要加上输出小数点后几位,这样就基本上正确了。
全部回答
把double改成float试一下~~~要不就强转成float试试
采用字符串形式输入,然后把数据以整型存储,并保存小数点的位置,可以用结构体来保存。然后自己写加减乘除函数就可以了。和楼上说的差不多。呵呵
- 3楼网友:摆渡翁
- 2021-05-06 12:17
自己写一个算法,用数组存储数据,做十进制运算就OK了。你可以找个金融库,里面有封装好的算法
- 4楼网友:山有枢
- 2021-05-06 12:01
一、C语言的起源
C 语言是1972年由美国的Dennis Ritchie设计发明的, 并首次在UNIX操作系统
的 DEC PDP-11 计算机上使用。 它由早期的编程语言 BCPL( Basic Combind
Programming Language) 发展演变而来。在1970年, AT&T 贝尔实验室的 Ken
Thompson根据BCPL语言设计出较先进的并取名为 B的语言, 最后导了C 语言的问世。
随着微型计算机的日益普及, 出现了许多C 语言版本。由于没有统一的标准,
使得这些C 语言之间出现了一些不一致的地方。为了改变这种情况, 美国国家标准
研究所(ANSI)为C 语言制定了一套ANSI标准, 成为现行的C语言标准。
二、C 语言的特点
C 语言发展如此迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的
功能。许多著名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。
用C 语言加上一些汇编语言子程序, 就更能显示C 语言的优势了, 象PC- DOS 、
WORDSTAR等就是用这种方法编写的。归纳起来C 语言具有下列特点:
1. C是中级语言
它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以象
汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2. C是结构式语言
结构式语言的显著特点是代码及数据的分隔化, 即程序的各个部分除了必要的
信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调
试。C 语言是以函数形式提供给用户的, 这些函数可方便的调用, 并具有多种循
环、条件语句控制程序流向, 从而使程序完全结构化。
3. C语言功能齐全
C 语言具有各种各样的数据类型, 并引入了指针概念, 可使程序效率更高。另
外C 语言也具有强大的图形功能, 支持多种显示器和驱动器。而且计算功能、逻辑
判断功能也比较强大, 可以实现决策目的。
4. C语言适用范围大
C 语言还有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于
多种机型。
三、 Turbo C 概述
1 Turbo C 的产生与发展
Turbo C 是美国Borland 公司的产品,Borland公司是一家专门从事软件开发、
研制的大公司。该公司相继推出了一套 Turbo系列软件, 如Turbo BASIC, Turbo
Pascal, Turbo Prolog, 这些软件很受用户欢迎。该公司在1987年首次推出Turbo
C 1.0 产品, 其中使用了全然一新的集成开发环境, 即使用了一系列下拉式菜单,
将文本编辑、程序编译、连接以及程序运行一体化, 大大方便了程序的开发。1988
年, Borland 公司又推出Turbo C1.5版本, 增加了图形库和文本窗口函数库等, 而
Turbo C 2.0 则是该公司1989年出版的。Turbo C2.0在原来集成开发环境的基础上
增加了查错功能, 并可以在Tiny模式下直接生成.COM (数据、代码、堆栈处在同一
64K 内存中) 文件。还可对数学协处理器 (支持8087/80287/80387等)进行仿真。
Borland 公司后来又推出了面向对象的程序软件包Turbo C+ + , 它继承发展
Turbo C 2.0 的集成开发环境, 并包含了面向对象的基本思想和设计方法。
1991年为了适用Microsoft 公司的Windows 3.0 版本, Borland 公司又将Turbo
C++ 作了更新, 即Turbo C 的新一代产品Borlandc C++也已经问世了。
2 Turbo C 2.0基本配置要求
Turbo C 2.0可运行于IBM-PC系列微机, 包括XT, AT及IBM 兼容机。 此时要求
DOS 2.0或更高版本支持, 并至少需要448K的RAM, 可在任何彩、单色80列监视器上
运行。支持数学协处理器芯片, 也可进行浮点仿真,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯