c++中要求数据保留到8位小数的话应该用那种数据类型啊,不是double型

嗯,不知道为什么,是一个迭代数列的题目,要求就要精确到8位小数,可是用double都不行

第1个回答  2008-03-16
float 数本身精度是7位有效数字,double 精度是15位有效数字.

迭代要求就要精确到8位小数,用double不行,应当是迭代方法有问题.

如果是分段收敛函数,你应当分段迭代,初值要在区间内.
收敛条件要用前后两次结果的误差的绝对值判断,而不是用简单的差值判断.
第2个回答  2008-03-16
可以试一试long double.
不过,C++讨论的是有效位,小数点后有8位,但小数点前有20位,那就不可以了,因为有效位是28位了. 如果只是小数点后的话,long double是可以的.

如果不可以的话,只能用fortran写程序了,fortran支持任意精度的数.
第3个回答  2008-03-16
数据类型是double
输出为cout<<precision(8)<<XX;本回答被提问者采纳
第4个回答  2008-03-16
cout.precision(8);
然后输出cout<<XX;
第5个回答  2008-03-16
double都不行??

c++中要求数据保留到8位小数的话应该用那种数据类型啊,不是double型
迭代要求就要精确到8位小数,用double不行,应当是迭代方法有问题.如果是分段收敛函数,你应当分段迭代,初值要在区间内.收敛条件要用前后两次结果的误差的绝对值判断,而不是用简单的差值判断.

C++中保留小数点后8位有效数字如何实现
C++中有个头文件时iomanip.h里面有个函数可以调整小数位。挺长的。。。#include <iostream.h>#include <iomanip.h>void main(){double x=3.14159267456;cout<<setiosflags(ios::fixed);cout<<setprecision(8)<<x;}C的方便。#include <stdio.h>void main(){double x=3.14159651131;printf("%.8...

c++中如何输出一个八位小数
cout<<fixed<<setprecision(8)<<a<<endl;\/\/输出变量a的8位小数。fixed:表示普通方式输出,不采用科学计数法。setprecision:控制输出流显示浮点数的数字个数,如果和fixed合用的话,可以控制小数点右面的位数。include<iostream>#include<iomanip>using namespace std;int main(){cout<<12345.0<<endl...

c++中如何精确输出的位数?
在C++中,要实现这个功能,就要用到std命名空间中常用于流的控制符,这里通常要用到setprecision()函数,可以通过这个函数控制小数点后面位数。还要注意的是,使用它需要加入头文件<iomanip>,这个头文件也好记。io是指in,out,输入输出流,manip是操作的缩写,所以iomanip里面全是输入输出流的操作。代码示...

C++ double有最多到小数点后8位的限制吗?
double 是二进制方式,与十进小数点位数没有明显对应关系

C++常用数据类型之整型和浮点型
浮点型数据用于表示小数,包括:1. float(单精度):占用4个字节内存,有效数字范围为7位。2. double(双精度):占用8个字节内存,有效数字范围约为15至16位。在C++中,有效数字包括整数部分和小数部分。默认情况下,编译器将小数视为双精度,因此创建float类型时通常会添加字母'f',例如float f1=3...

C++中,如何保留指定的小数位,不是COUT输出~
考虑到移动小数点时可能溢出导致结果不精确,可以保持原数不动,只取小数部分做操作,结果再加上原数的整数部分即可。参考代码如下:double f = 1.12345678;double t1;int n; cin >> n;\/\/保留n位有效数字。 t1 = f - (int)f;\/\/取小数部分。 t1*=pow(10, n);\/\/小数点左移。 if(t1-(...

怎样使代码结果保留8位小数
<iostream>#include <iomanip> \/\/添加这个头文件using namespace std;const double PI=3.14159265358979;int main(){double r;cin>>r;cout<<setiosflags(ios::fixed)<<setprecision(8)<<PI*r*r<<endl; \/\/在输出前加上代码中的两个参数设置,第一个是固定小数点后面,第二个是保留8位...

c++中float的问题
型的话,编译器默认都是 double 型的。你的两种该法都可以。其实,一般情况下,完全没必要使用 float 型数据,用 double 就行。float 型的数主要是比 double 占用内存更小,想想现在动不动就 1G,2G的内存,完全没必要去节省那点内存。何况,double 型数据能表示的数的范围比 float 型大得多。

C++中,long double和long型的区别和联系是?刚才看书居然说都是8个字节...
double 有效数字15—16位 long double有效数字18—19位 整 数 整 型 int 4字节 短整型 short int 2字节 长整型 long int 8字节 浮点数 单精度浮点数 float 4字节 双精度浮点数 double 8字节

相似回答